Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

RecordCount de un recordset me da -1 por que?

Estas en el tema de RecordCount de un recordset me da -1 por que? en el foro de Visual Basic clásico en Foros del Web. un saludo a todos, soy nuevo con el ADODB por que antes manejaba ADODC y pues las cosas se manejan distintas asi que tengo este ...
  #1 (permalink)  
Antiguo 01/08/2005, 10:08
Avatar de IGNIS  
Fecha de Ingreso: junio-2003
Mensajes: 70
Antigüedad: 20 años, 10 meses
Puntos: 0
RecordCount de un recordset me da -1 por que?

un saludo a todos, soy nuevo con el ADODB por que antes manejaba ADODC y pues las cosas se manejan distintas asi que tengo este pequeño problemita.

Código:
Dim cn1 As New ADODB.Connection
Dim rs1 As New ADODB.Recordset

cn1.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\Archivos de programa\Cybernet-Server\DB97.mdb"
rs1.Open "select * from activaciones where estado=1", cn1


If rs1.RecordCount = 0 Then
  Exit Sub
End If
al ejecutar eso, necesito saber si hay registros con valor 1 en el campo estado, ya probe modificando ese valor en varios registros, y en cualquier caso rs1.RecordCount vale -1 , quisiera saber si estoy haciwendo algo mal o faltan argumentos para el RecordSet o en la Conexion.
de antemano Gracias
__________________
La verdad es la llave, no la puerta.
  #2 (permalink)  
Antiguo 01/08/2005, 11:34
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Por lo que estoy viendo no has asignado tus objetos... (usar SET) intentalo de ésta forma:

Cita:
Dim cn1 As ADODB.Connection
Dim rs1 As ADODB.Recordset

SET cn1 = new ADODB.Connection
SET rs1 = new ADODB.Recordset
cn1.ConnectionString = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\Archivos de programa\Cybernet-Server\DB97.mdb"
cn1.Open

rs1.Open "select * from activaciones where estado=1", cn1
....
...

rs1.Close
cn1.Close
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 01/08/2005, 12:05
 
Fecha de Ingreso: julio-2005
Mensajes: 6
Antigüedad: 18 años, 9 meses
Puntos: 0
el RecordCount te da uno por que en esa posición se encuentra el cursor en ese momento, lo que puedes hacer es darle la instricción:

rs1.MoveLast 'Mueve el cursor a la última posición.

If rs1.RecordCount = 0 Then
Exit Sub
End If

La otra opcion es:

If (rs1.EOF And rs1.BOF) Then
Exit Sub 'Si la tabla está Vacía se sale del procedimiento.
End If
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:33.