SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: JuanPi en Sábado 23 de Febrero de 2002, 18:39
-
Hola!!
Como puedo saber el número de registros que devuelve una consulta sql?
Es decir, en mi aplicación tengo un DBGrid, y al hacer el usuario una consulta sql, en éste dbgrid me muestra los registros que coinciden con la consulta realizada, pues bien yo quiero poner debajo del DBGrid una label donde me muestre el número de registros devueltos por la consulta.
Por si es necesario saberlo, estoy usando DAO y base de datos Access 97
Muchas gracias, necesito saber hacer esto.
-
Si tenes un bucle para mover a traves de la base de datos, por ejemplo:
Do While Not rs.EOF
name = rs!Site_Name
url = rs!Site_Address
rs.MoveNext
Loop
Podes poner una variable que tenga el valor de 0 adentro del bucle e incrementarla.
Do While Not rs.EOF
name = rs!Site_Name
url = rs!Site_Address
rs.MoveNext
contador = contador + 1
Loop
MsgBox contador
Pero creo que tambien podes contar los registros con rs.RecordCount... (RS siendo el recordset de la base de datos)
-
Mira lo puedes hacer de varias formas:
Forma 1:
Dim SQL as String
Dim Consulta as DAO.Recordset
SQL = "SELECT * FROM tabla WHERE campo ='" & dato & "'"
Set Consulta = Data.OpenRecordset(SQL)
If (Consulta.RecordCount >= 1) Then
lblTotalRegistros.Caption = Consulta.RecordCount
Data1.RecordSource = SQL
Else
Msgbox "No existen registros para esta consulta.", vbCritical, "Error"
End If
Forma 2:
Haces el siguiente SELECT:
SQL = "SELECT COUNT(*) As Total FROM tabla WHERE campo ='" & dato & "'"
Este SELECT te devolvera en el campo 'Total' el total de registros que devuelve la consulta, si te queda alguna duda escribeme al correo y te respondere lo antes posible.
Nota: Desaconsejo el uso del control DATA y DBGRID, aconsejo el uso del control MSFlexGrid y MSHFlexGrid, si nesesitas codigo para saber como llenar un MSFlexGrid me escribes a mi correo.
Powered by Snake:D
-
Mira, éste es un pequeño ejemplo.
If Recf.RecordCount <= 0 Then
MsgBox ("No existen registros ")
Else
a = Recf.RecordCount
MsgBox ("Existen '*" & a & "*' registros")
end if
(Recf, es el nombre del recordset)
bye.
-
Os agradezco muchisimo vuestras respuestas, ya he conseguido contar los registros gracias a vuestra ayuda.
Juan