Expertos en FoxPro y Visual Basic HELP!!!!
Necesito leer una tabla generada en FoxPro desde un programa de Visual Basic se puede????? como????
Hay varias formas. En el diseñador de formularios de visual basic podés utilizar los objetos msflexibgid (para mostrar los datos) y el objeto ADODC para conectar la flexibgrid con cualquier origen de datos (incluidos los archivos dbf de fox) configurando las propiedades de los objetos que te mencioné.
Otra forma es por linea de codigo de cuaquiera de estas dos formas:
a) en las referencias agregar microsoft activex data object:
Public Function AbrirTablaDBF(Tabla As String) As ADODB.Recordset
Dim conexion As New ADODB.Connection
Dim recordsetlocal As New ADODB.Recordset
conexion.Open ConnectionString:="Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" & Tabla & ";Exclusive=No;Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO"
recordsetlocal.Open "select * from " & Tabla, conexion, adOpenKeyset, adLockPessimistic
Set AbrirTablaDBF = recordsetlocal
End Function
b)
Sub packear(rutaarchivo As String)
Dim a As Object
Set a = CreateObject("visualfoxpro.application")
a.docmd ("use " + rutaarchivo)
a.docmd ("pack")
End Sub
Este ultimo ejemplo realiza un pack de la tabla que recibe como parametro pero a traves del metodo a.docmd se puede ejecutar cualquier comando de fox
Otra forma es por linea de codigo de cuaquiera de estas dos formas:
a) en las referencias agregar microsoft activex data object:
Public Function AbrirTablaDBF(Tabla As String) As ADODB.Recordset
Dim conexion As New ADODB.Connection
Dim recordsetlocal As New ADODB.Recordset
conexion.Open ConnectionString:="Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" & Tabla & ";Exclusive=No;Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO"
recordsetlocal.Open "select * from " & Tabla, conexion, adOpenKeyset, adLockPessimistic
Set AbrirTablaDBF = recordsetlocal
End Function
b)
Sub packear(rutaarchivo As String)
Dim a As Object
Set a = CreateObject("visualfoxpro.application")
a.docmd ("use " + rutaarchivo)
a.docmd ("pack")
End Sub
Este ultimo ejemplo realiza un pack de la tabla que recibe como parametro pero a traves del metodo a.docmd se puede ejecutar cualquier comando de fox
