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.
1 respuesta
Respuesta de miron
2
2
miron, ¡¡La vida es un constante movimiento, la quietud es la muerte!!
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