Tema: Suma con SQL
Ver Mensaje Individual
  #15 (permalink)  
Antiguo 16/01/2012, 12:19
amg39
 
Fecha de Ingreso: febrero-2011
Mensajes: 29
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Suma con SQL

Al final se consiguió. Helo:
Private Sub btnEjssumas_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEjssumas.Click
Dim con As New OleDb.OleDbConnection
Dim ds1 As New DataSet
Dim ds2 As New DataSet
Dim sql1, sql2 As String
Dim titular As String
Dim i As Integer
con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =C:\Users\Mis documentos\bd4.mdb"
con.Open()
titular = TextBox3.Text 'Entramos el titular
sql1 = "SELECT denominacion FROM denominacion WHERE clase = 'Acciones' ORDER by denominacion"
Dim da As New OleDb.OleDbDataAdapter(sql1, con)
da.Fill(ds1, "Denom")
For i = 0 To ds1.Tables("Denom").Rows.Count - 1 'Ciclo de las denominaciones
TextBox1.Text = ds1.Tables("Denom").Rows(i).Item(0) 'Nombre de la acción
With ds1
sql2 = "SELECT SUM(nrotitulos) AS totalacc FROM operaciones WHERE (titular= '" & titular & "') and (denominacion='" & TextBox1.Text & "')"
Dim da1 As New OleDb.OleDbDataAdapter(sql2, con)
If Not IsDBNull(ds2.Tables("Tot").Rows(i).Item(0)) Then
TextBox2.Text = ds2.Tables("Tot").Rows(i).Item(0) 'OK
MsgBox("Para " & TextBox1.Text & " el número de titulos de " & titular & " es: " & TextBox2.Text)
End If
End With
Next
End Sub
---
Soy consciente de que hay dos chapuzas que serán advertidas:
1) No he podido aprovechar el resultado de SUM(nrotítulos) totalacc y he recurrido a la chapucilla de poner el resultado del Ds en TextBox2.Text.
2) Otra chapuza es que tampoco he pasado aceptablemente la variable "denominación" del ciclo exterior al interior y he acudido igualmente a un TextBox1.Text. No se lo digas a nadie. Pero el resultado es que funciona. Gracias en muy buena medida a tu ayuda. Mil gracias.