Buenas tardes: Llevo varios días tratando este asunto sin darle al quid. Tengo el problema muy localizado, pero no paso de ahí.
Tengo una tabla con nombres de acciones ("denominacion")(Tfonica, Repsol, etc.) y otra tabla con operaciones realizadas donde figuran "denominaciones", "titulares" y "nrotyitulos" de cada operación. Pretendio, entando "a mano" un titular obtener un listado donde me salga:
Telefonica 1248 títulos
Repsol 476 títulos, etc.
Para eso he escrito el siguiente código: Que me da (erróneamente) cero para todas las acciones. Sé que el código para la suma (lo que está en negrita) está bien. Lo he hecho en un wizard de  2010 y me da buen resultado. El procedimiento no me da ningún error, simplemente me da resultados erróneos. 
'---
 Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        'Obtendremos para un titular: la cartera total, su valor de compra y el precio medio
        Dim con As New OleDb.OleDbConnection
        con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source = C:\Users\Mis documentos\bd4.mdb"
        con.Open()
        Dim sql1, sql2 As String
        Dim ds1, ds2 As New DataSet
        'Ciclo de las Denominaciones
        sql1 = "SELECT * from denominacion WHERE clase = 'Acciones' ORDER BY denominacion" 'En las denominaciones hay cosas cuya "clase" no es acciones
        Dim da1 As New OleDb.OleDbDataAdapter(sql1, con)
        da1.Fill(ds1, "FiltDenom") 'FiltroDenom es el DataSet que contiene los nombres de todas las acciones
        Dim i As Integer
        '¿Cuántas denominaciones distintas de acciones hay?
        Dim posicion As Integer
        Dim totalacc As Integer = 0
        Dim inc As Integer = 1
        Dim c1 As String
        MsgBox("Cuantas acciones distintas hay")
        MsgBox(cuantasacciones) 'Resultado de una función aparte. OK
        For i = 0 To cuantasacciones - 1 'Ciclo de las distintas acciones. Cada rotación es de una denominación distinta de acciones
            c1 = ds1.Tables("FiltDenom").Rows(i).Item("denominacion  ") 'Nombre de la acción  OK
            MsgBox(c1) 'OK
  sql2 = "SELECT SUM(nrotitulos) AS totalacc FROM operaciones WHERE (titular='AMM') AND (denominacion = '" & c1 & "')"
             MsgBox("segundopaso") 'OK
            MsgBox(totalacc)  'MAAAAL
            If totalacc > 0 Then
                e.Graphics.DrawString(c1, New Font("Arial", 10), Brushes.Black, 200, posicion) 'nOMBRE DE LA ACCIÓN
                e.Graphics.DrawString(totalacc, New Font("Arial", 10), Brushes.Black, 360, posicion)
                posicion = posicion + 30
            End If
            totalacc = 0
            c1 = ""
        Next
    End Sub
 
¿Me podéis ayudar? Mil gracias. 
   
 


 
  
 

