Conectar BD de Visual Foxpro con Visual Basic

Quisiera saber si tienes algún código de como conectar un base de datos hecha en visual fox pro con el visual basic mediante el odbc, ya que me larga un error que no puedo detectar.
Respuesta
2
Compañero, entonces debes utilizar SQLConnect
SQLCONNECT( ) (Función)
Establece una conexión con un origen de datos.
Sintaxis
SQLCONNECT([NombreOrigenDatos, cIdUsuario, cContraseña | cNombreConexión])
Tipos devueltos
Numeric
Argumentos
NombreOrigenDatos
Especifica el nombre de un origen de datos definido en el archivo Odbc.ini.
CIdUsuario
Especifica un identificador de usuario para iniciar la sesión en el origen de datos.
CContraseña
Especifica la contraseña para el origen de datos.
CNombreConexión
Especifica una conexión con nombre creada con CREATE CONNECTION.
Comentarios
SQLCONNECT( ) devuelve un controlador numérico positivo distinto de cero si consigue conectar con el origen de datos. Almacene este controlador en una variable de memoria y utilice la variable en posteriores llamadas de función en las que se necesite un controlador de conexión. ¿SQLCONNECT( ) devuelve? 2 si no puede establecerse la conexión.
Si se ejecuta SQLCONNECT( ) sin ninguno de sus argumentos adicionales, podrá mostrarse el cuadro de diálogo Seleccionar conexión u origen de datos, que permite elegir un origen de datos.
Nota El cuadro de diálogo de inicio de sesión ODBC debe estar desactivado para admitir el paso de SQL con Microsoft Transaction Server. Utilice SQLSETPROP(cControladorConexión, 'DispLogin', 3) para desactivar el cuadro de diálogo de inicio de sesión ODBC (cControladorConexión es el controlador de conexión devuelto por SQLCONNECT). El cuadro de diálogo de inicio de sesión ODBC también se puede desactivar en el Diseñador de conexiones.
Te hago una pregunta: en el código que me enviaste como dsn yo tengo el dsn que creé con la conexión odbc a la base de datos en fox, en este código que pongo en dsn, que pongo en datos y que pongo en basedatos.dbc, sabiendo que el dsn que hice es Datos, la base de datos se llama datos1.dbc y la tabla se llama tabla1.dbf, entendés mi pedido. Desde ya mucha gracias
También lo puedes hacer con una cadena de conexión, algo como lo siguiente:
strConnect = "driver={Visual FoxPro};server=" & TUIPDESERVER & ";uid=" & usr_id & ";pwd=" & pass & ";database=datos1.dbc"
Private Sub Command1_Click()
Dim db As Database
Set db = OpenDatabase("", True,
False, "ODBC;DSN=Visual FoxPro
Database;UID=;PWD=;SourceDB=" & datos
& "BaseDatos.dbc;SourceType=DBC;Exclusive=No;BackgroundFet
ch=Sí;Collate=Machine;")
db.Execute "Delete From detpres WHERE nropresta=" & Val
(txtFields(0).Text) & "", dbSQLPassThrough
db.Close
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas