Problema con consulta en visual basic

Hola buenas,
Estoy tratando de hacer una consulta muy muy sencilla en VB6 para access03. El código es el siguiente:
Private Sub Form_Load() 
Dim DDBB As Database
Dim TBL As Recordset
Dim SQL As String
SQL = "SELECT ENTIDAD_CIF,ENTIDAD_TIPO,ENTIDAD_NOMBRE,ENTIDAD_RAZON_SOCIAL FROM ENTIDAD WHERE ENTIDAD_CONTACTADA='Si'"
Set DDBB = OpenDatabase("C:\Users\Rafa\Documents\Empresas\Access\Empresas.mdb")
Set TBL = DDBB.OpenRecordset(SQL)
Label3.Caption = TBL.RecordCount
Text2.Text = SQL
End Sub
El problema es que en vez de devolverme una tabla con los distintos registros que cumplen la condición (es decir, ENTIDAD_CONTACTADA='Si') lo que ocurre es que me devuelve unicamente el primer registro de la tabla que cumple la condición.
He estado días intentando subsanar este error, pero no consigo detectarlo... Si pudieras echarme una mano te estaría muy agradecido.
Un saludo y gracias de antemano.

1 respuesta

Respuesta
1
La consulta aparentemente es correcta por lo que deberías tener todos los registros.
Pruébalas en la pantalla de SQL que tiene access y veras si va bien o no.
Probablemente veas que en el Label3 solo te pone un 1 porque el RS no está cargado. Añade la linea tbl.movelast antes del label3. Caption y casi seguro que te mostrará otro resultado.
Otra posibilidad mejor para contar estas cosas es hacer:
SQL = "SELECT COUNT(1) AS NumRec WHERE ENTIDAD_CONTACTADA='Si'"
Y luego poner label3.caption=tbl.fields(1)
Tambien te recomiendo controlar que tenas registros con una sentencia del tipo
if tbl.eof=false then ' Si tiene registros
lbl3.caption ......
end if
Muchas gracias por tu respuesta, me ha sido de gran utilidad, no sabia que para usar .RecordCount hubiese que ir al ultimo registro! Muchas gracias de nuevo y saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas