Fecha y hora actual: Sab 19 May, 2012 22:05 pm
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

Una orden SQL SUM() que no suma

Responder al Tema

Índice del Foro > Visual Basic .NET > Una orden SQL SUM() que no suma

Autor Mensaje
Baldomero
Usuario Iniciado


Registrado: 24 Oct 2011
Mensajes: 15

Mensaje Publicado: Jue 12 Ene, 2012 22:45 pm

Título del mensaje: Una orden SQL SUM() que no suma

Responder citando

Buenas tardes. A ver si sois tan amables de hacerme que esto rule.
En mi BD tengo, entre otras, dos tablas: Tabla "Denominacion" donde están los nombres de las acciones y otros valores (fondos, bono, etc). Primero he hecho un filtro porque sólo me interesa conocer las acciones que tiene cada titular. Y otra tabla, "Operaciones" donde figuran las acciones que de dichos valores van comprando los "titulares". Mi idea es hacer un ciclo for-next que recorra la tabla (subtabla, para ser riguroso) de las acciones y dentro de este ciclo ir a la tabla "Operaciones" y ver cuántas (el número de títulos) acciones de cada denominación tiene un titular que hemos escrito en un TextBox1, aunque aquí por hacerlo más sencillo lo he escrito "a brazo", "AMM".
El ciclo sí se hace y aparece el nombre de los valores (acciones) pero me da de suma para todas las acciones 0.
Es decir que obtengo un listado tal que así:
Iberdrola 0
Telefónica 0 y así para todos; pero eso está mal porque para eso lo tengo a la vista en la BD.

'Ciclo de las Denominaciones de las acciones
sql1 = "SELECT * from Denominacion WHERE clase = 'Acciones' ORDER BY denominacion"
Dim da1 As New OleDb.OleDbDataAdapter(sql1, con)
da1.Fill(ds1, "FiltDenom") 'FiltroDenom es el DataSet que contiene los nombres de todas las acciones
con.Close()
Dim i As Integer
'¿Cuántas denominaciones distintas de acciones hay?
'Aqui he introducido una función que me da este nro: cuantasaccionesdistintashay
Dim posicion As Integer
Dim total As Integer = 0
Dim inc As Integer = 1
Dim c1 As String 'Para representar el nombre de cada denominación de acciones

For i = 0 To cuantasaccionesdistintashay() - 1 'Ciclo de las distintas acciones. Cada rotación es de una denominación distinta de acciones
query2 = "SELECT ISNULL(SUM(nrotitulos), 0) As total FROM Operaciones WHERE Operaciones.denominacion = denominacion.denominacion and Ltrim(Operaciones.titular) = 'AMM'" ' " & TextBox1.Text & "'"
comando = New OleDbCommand(query2, con)
MsgBox(total) 'Lo he puesto para observar durante la realización; en efecto, siempre ceros.
c1 = ds1.Tables("FiltDenom").Rows(i).Item("denominacion ") 'Nombre de la acción)
e.Graphics.DrawString(c1, New Font("Arial", 10), Brushes.Black, 200, posicion) ' OK
e.Graphics.DrawString(total, New Font("Arial", 10), Brushes.Black, 360, posicion) 'MAL
posicion = posicion + 30
Next

¿Qué he hecho mal? Muchas gracias.

Volver arriba
Ver perfil del usuario Enviar mensaje privado
weirdmix
Moderador Global


Registrado: 08 May 2008
Mensajes: 618
Ubicación: DF - MEXICO

Mensaje Publicado: Vie 13 Ene, 2012 01:59 am

Título del mensaje: Re: Una orden SQL SUM() que no suma

Responder citando

pues para empezar yo usaria un stored procedure q me trajera todos esos resultados de un jalon, ya solamente seria acomodarlos en los respectivos objetos.

saludos
Super Super Super


------------------------------
WeirdMix
Colaborador y Moderador Global
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo Yahoo Messenger MSN Messenger
Baldomero
Usuario Iniciado


Registrado: 24 Oct 2011
Mensajes: 15

Mensaje Publicado: Vie 13 Ene, 2012 09:45 am

Título del mensaje: Re: Una orden SQL SUM() que no suma

Responder citando

Muchas gracias. Pongo manos a la obra.

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

programa sobre la suma de digitos en C

joseSOYYO C, C#, Visual C++ 2 Lun 07 May, 2012 00:17 am Ver último mensaje
El foro no contiene ningún mensaje nuevo

ayuda suma conjuntos backtracking

cristianEmil Temas generales 4 Sab 31 Mar, 2012 18:21 pm Ver último mensaje
El foro no contiene ningún mensaje nuevo

Suma diagonales de una tabla

Mayte JavaScript 0 Mie 14 Dic, 2011 19:59 pm Ver último mensaje
El foro no contiene ningún mensaje nuevo

Ayuda con una suma de matrices en JAVA

agelvis87 Java 0 Jue 08 Dic, 2011 17:59 pm Ver último mensaje
El foro no contiene ningún mensaje nuevo

Utilizar un TextBox.Text en una orden SQL

Baldomero Visual Basic .NET 2 Mie 23 Nov, 2011 13:54 pm Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,