
23/10/2008, 13:45
|
| | 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 |