Visual Basic - Problema muy extraño con base de datos Access

Life is soft - evento anual de software empresarial
 
Vista:

Problema muy extraño con base de datos Access

Publicado por Wintermute (11 intervenciones) el 20/05/2004 12:05:08
Hola,

tengo un problema muy extraño. Tengo un programa en Visual Basic 6 para acceder a una base de datos Access que está en su mismo directorio. Para recoger, por ejemplo, el número de usuarios hago:

Dim midb As Database
Set midb = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\datos.mdb")
Dim consulta As String
consulta = "SELECT * FROM Login"
Dim rs As Recordset
Set rs = midb.OpenRecordset(consulta, dbOpenDynaset)
'rs.MoveLast
'rs.MoveFirst
MsgBox rs.RecordCount

En esa tabla hay 3 filas. Pues bien, el rs.RecordCount me dice que sólo hay 1. Pero si descomento el rs.MoveLast y el rs.MoveFirst, me devuelve las 3.

¿A alguien le ha pasado algo parecido? ¿Sabéis qué puede estar pasando? Hasta ahora siempre lo había usado así y siempre había funcionado correctamente.

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema muy extraño con base de datos Access

Publicado por Juan Manuel (124 intervenciones) el 20/05/2004 16:41:10
Probá coniendo
rs.CursorLocation = adUseClient justo antes de abrir el recordset
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema muy extraño con base de datos Access

Publicado por Wintermute (11 intervenciones) el 20/05/2004 18:15:38
Gracias por tu respuesta:

¿Eso no es sólo para ADO? Yo estoy usando DAO y no me lo admite.

Un saludo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema muy extraño con base de datos Access

Publicado por raul (21 intervenciones) el 24/05/2004 17:11:03
Es normal que pase esto, sucede porque has de recorrer el recordset antes de poder contar los registros.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema muy extraño con base de datos Access

Publicado por Wintermute (11 intervenciones) el 24/05/2004 18:06:52
Hola, gracias por la respuesta.

¿Si se le hace una SELECT con distinct actúa distinto? Porque en otro código tengo:

Set db = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\basedatos.mdb")
Dim consulta As String

consulta = "SELECT distinct(codigo) from informes"
Set rs = db.OpenRecordset(consulta, dbOpenDynaset)
Select Case rs.RecordCount
Case 0
...

Y me devuelve, en este caso, 2, que es precisamente el número de filas.

Un saludo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar