ODBC con DAO

suso
12 de Marzo del 2003
Buenas:
Se puede conectar una aplicacion Visual que trabaja con una BD Access con DAO a ODBC? Cual seria la cadena de Conexion?.
Si alguien tine alguna experiencia ruego me la comunique. Necesito saber si una aplicacion que tengo hecha con access para trabajar en local la puedo reutilizar para red, trabaja con muchas tablas y algunas grandes. Tambien utiliza Data Control.
Tambien os agradeceria el consejo si creeis que es mejor que cambie todo a ADO, aunque me da miedo.
Muchas Gracias.

angeles
12 de Marzo del 2003
Sí puedes conectarlo a través de ODBC, pero cambia los controles Data por controles ADO, más que nada por cuestiones de eficiencia y velocidad( y porque funcionan mucho mejor)
Para conectarlo:
Variables necesarias para la conexión:
Global espacio As Workspace
Global con As Connection

Para conectar:
1º Crear el espacio de trabajo:
Set espacio= CreateWorkspace("NombreDel Espacio",
"Usuario", "Contraseña", dbUseODBC)
2º Abrir la conexión:
Set con = espacio.OpenConnection("NombreDeLaConexion",dbDriverCompleteRequired, False,"ODBC;DSN=NombreEnlace;AUI=NombreUsiario;PWD=Constraseña")
Si pones la información de usuario y contraseña en el espacio de trabajo, no es necesario ponerlo en la cadena de conexion.
A partir de aquí con QueryDef puedes realizar todas las consultas SQL que impliquen modificaciones(Insert,Update,Delete) y con Recordset u OpenRecordset las Select.
Al final deberás cerrar primero la conexión y por último el espacio de trabajo. Puedes tener tantos espacios de trabajo, para distintos usuarios..., como quieras y lo mismo para las conexiones.

Los controles ADO también los deberás conectar al enlace ODBC.
Hay un método de DBEngine que permite crear el enlace ODBC, para no obligar al usuario a crearlo, el método es RegisterDatabase. Si el enlace ya existe simplemente lo actualiza.