Perdoname, pero esque no termino de entender la estructura de la bd ni la operación que quieres hacer...
Tablas:
- operaciones (denominaciones, titulares, nrotyitulos, ...)
- denominacion (denominacion, clases, ...)
Ésto es lo que yo he entendido, lo que no cuadra con tu cosulta sql (y puede que por eso te de 0 de resutlado):
Código vb:
Ver originalsql2 = "SELECT SUM(nrotitulos) AS totalacc FROM operaciones " _
& "WHERE (titular='AMM') AND (denominacion ='" & c1 & "' "
Si te fijas en el AND, según el marco que entiendo tienes en tu BD debería ser:
Código vb:
Ver originalsql2 = "SELECT SUM(nrotitulos) AS totalacc FROM operaciones "_
& "WHERE (titular='" & titular & "') AND (denominaciones = '" & c1 & "' "
El campo se llama denominaciones en la tabla operaciones, no denominacion. Además te he puesto el titular por variable, porque así puedes usar la función para distintos titulares según la variable.
Al margen de todo esto, lo que yo intentaba decirte, es que no basta con crear una cadena de texto con el código SQL, también tienes que almacenar el resultado y actuar en consecuencia
Yo veo en tu código el "sql = ..." pero no veo qué haces después con la sentencia sql, ¿no la vuelves a llamar?
Si, por ejemplo, te declaras un Recordset y almacenas en él el resultado de la búsqueda del sql2 quedaría así:
Código vb:
Ver originalDim db As Database
Dim rst As DAO.Recordset
Set db = CurrentDb()
sql2 = "SELECT SUM(nrotitulos) AS totalacc FROM operaciones " _
& "WHERE (titular='" & titular & "') AND (denominaciones='" & c1 & "' "
Set rst = db.OpenRecordset(sql2, dbReadOnly)
If Not (rst.BOF And rst.EOF) Then
MsgBox("Total suma de numero de titulos: " & rst.totalacc)
Else
MsgBox ("Tabla no encontrada o no hay operaciones para sumar.")
End If
Set rst = Nothing
Set db = Nothing
Si no me he explicado bien en algo, o no tengo bien el planteamiento dímelo.
De todas formas el statement SQL SUM() te tiene que funcionar (
¡dando por hecho que el nrotitulos sea de tipo numero!).
Prueba el código y nos cuentas qué tal te ha ido.