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

vb6 + excel + recordSet

Estas en el tema de vb6 + excel + recordSet en el foro de Visual Basic clásico en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 23/10/2008, 13:45
 
Fecha de Ingreso: octubre-2008
Mensajes: 24
Antigüedad: 15 años, 7 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
  #2 (permalink)  
Antiguo 24/10/2008, 02:10
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: vb6 + excel + recordSet

Cita:
Iniciado por vdiaz18 Ver Mensaje
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

...

gracias de antemano
Saludos,

el que la propiedad RecordCount siempre devuelva -1 es porque tienes que poner el cursor del lado cliente:

conecta.CursorLocation = adUseClient

y fíjate que antes de la etiqueta 'Falla' debes hacer un Exit Sub, aunque yo lo haría de otra forma: eliminando On Error Goto y a continuación de abriri el recordset:
If Rst.RecordCount = 0 Then
MsgBox "no existe"
Exit Sub
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 01:07.