Access - Obtener tabla dbf en un ADO.Recordset

 
Vista:

Obtener tabla dbf en un ADO.Recordset

Publicado por José Nuñez (11 intervenciones) el 17/07/2001 03:41:15
Agradezco si me pueden dar una mano con esta conexión ya que hace varios días que le doy vueltas pero no lo logro.

Lo que necesito es obtener un Recordset ADO con los registros de una tabla dbf externa.

El siguiente código no me funciona:

----------------------------------------
Set cnn01 = New ADODB.Connection
Set CNNSQL01 = New ADODB.Command
With cnn01
.Provider = "Microsoft.Jet.OLEDB.4.0;"
.Open "Data Source=" & strnombrearchivodbf & ";"
End With
With CNNSQL01
.ActiveConnection = cnn01
.CommandText = "SELECT * FROM " & strnombrearchivodbf & ";"
End With
Set rstDBF = CNNSQL01.Execute()
----------------------------------------

Tal vez el problema esta en el Provider.

Muchas gracias por adelantado.
José
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:Obtener tabla dbf en un ADO.Recordset

Publicado por andres (2 intervenciones) el 21/07/2001 07:15:36
te sugiero el siguiente codigo, seguro que te funcionará...:

Dim rscsip As ADODB.Recordset
Set rscsip = New ADODB.Recordset
Dim strsqlcsip As String
Dim cncsip As ADODB.Connection
Set cncsip = New ADODB.Connection
cncsip.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Mis documentos\\ANDRES\\parqueadero\\bd1.mdb;\"
cncsip.Open
strsqlcsip = \"SELECT carro.parqueo, carro.codempl, control.cempl FROM carro INNER JOIN control ON carro.codempl = control.cempl where carro.parqueo = \'No\'\"
rscsip.Open strsqlcsip, cncsip, adOpenDynamic, adLockOptimistic, adCmdText
On Error Resume Next
Do While Not rscsip.EOF
sparq = sparq + 1
rscsip.MoveNext
Loop
rscsip.Close
cncsip.Close
Set rscsip = Nothing
Set cncsip = Nothing
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:Obtener tabla dbf en un ADO.Recordset

Publicado por Andres C. (2 intervenciones) el 21/07/2001 07:19:31
te sugiero el siguiente codigo, seguro que te funcionará...:

Dim rscsip As ADODB.Recordset
Set rscsip = New ADODB.Recordset
Dim strsqlcsip As String
Dim cncsip As ADODB.Connection
Set cncsip = New ADODB.Connection
cncsip.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Mis documentos\\ANDRES\\parqueadero\\bd1.mdb;\"
cncsip.Open
strsqlcsip = \"SELECT carro.parqueo, carro.codempl, control.cempl FROM carro INNER JOIN control ON carro.codempl = control.cempl where carro.parqueo = \'No\'\"
rscsip.Open strsqlcsip, cncsip, adOpenDynamic, adLockOptimistic, adCmdText
On Error Resume Next
Do While Not rscsip.EOF
sparq = sparq + 1
rscsip.MoveNext
Loop
rscsip.Close
cncsip.Close
Set rscsip = Nothing
Set cncsip = Nothing
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:Obtener tabla dbf en un ADO.Recordset

Publicado por Damian (1 intervención) el 10/08/2011 22:56:47
Andres el codigo que mandaste es para abrir una tabla de Access , lo que necesitamos es un recordset de una tabala dbf de Visual Fox Pro, yo tambien lo he estado intentando me puedo conectar pero al momento de abrir el recordset me genera error



Public Function VFP_Matriz_ADO(Uvicación As String, Tabla As String) As Variant

Dim cn As New ADODB.Connection
Dim MiTabla As ADODB.Recordset
Dim M() As Variant
Dim Filas As Long, Columnas As Long
Dim CadenaSQL As String

Set cn = New ADODB.Connection

'************* Provedor OLEDB ****************
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & Uvicación & "; Extended Properties=dBASE IV;"
.CursorLocation = adUseClient
.Open

End With
'*******************************************************

'**************** Recordset ************************

Set MiTabla = New ADODB.Recordset

CadenaSQL = "SELECT * FROM " & Tabla & ";"
MiTabla.Open CadenaSQL, cn, adOpenStatic, adLockOptimistic

End fucntion
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