Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/10/2008, 13:45
vdiaz18
 
Fecha de Ingreso: octubre-2008
Mensajes: 24
Antigüedad: 16 años, 6 meses
Puntos: 0
vb6 + excel + recordSet

Saludos,

por favor si me podrían ayudar ...

necesito traer los datos de una hoja de calculo de excel, la consulta se realiza por fecha, cuando existe la fecha no hay problema, pero sucede q cuando no existe la fecha se da el problema: el recordset en la propiedad recordcount siempre devuelve -1 pero así devuelva -1, se cargan los datos si existe la fecha pero si no existe al hacer un despliegue secuencial utilizado while not rst.eof al ubicar en el primer registro me da un error de:

El valor del BOF o EOF es TRUE, o el actual registro se eliminó; la operacion solicitada requiere un registro actual

aqui va el codigo:



On Error GoTo Falla
Set Conecta = New ADODB.Connection
Set Rst = New ADODB.Recordset

With Conecta
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source = C:\AgendaCitas\back-end\CitasBD.xls"
.Properties("Extended Properties") = "Excel 8.0;HDR=Yes"
.Open
End With



CadenaSQL = "SELECT * FROM [TCitas$] WHERE cit_fecha=" & " # " & Fecha & " # "

Set Rst = Conecta.Execute(CadenaSQL)
If (Rst.RecordCount <> 0) Then ' siempre devuelve -1
With Rst

.MoveFirst ' cuando no existe aqui se presenta el error
While Not .EOF
grid.additem .fields(1) & chr(9) & .fields(2)

.MoveNext
Wend
.Close
End With
else
msgbox "no existe"

End If

Falla:
MsgBox Err.Description
Err.Clear


gracias de antemano