elbercial25, 1 de Noviembre de 2002 - 1 de Diciembre de 2002 BODEGAS...
La mejor opción es usar ADO mediante el driver de conexión Myodbc. Para realizar la conexión con la base de datos debes usar el siguiente código: 'Definición de la variable de conexión Public mConn As ADODB.Connection Public Sub ConectarBase() 'Etiqueta para verificar si se ha producido un error en la conexión 'On Error GoTo controlerror 'Apertura de la base de datos 'Se crea la variable que contiene la conexión con la base de datos Set mConn = New ADODB.Connection 'Indica el intervalo de espera para que se ejecute un comando antes de que 'finalice el intento y se genere un error. mConn.CommandTimeout = 40 'Indica el intervalo de espera mientras se establece una conexión antes de 'que finalice el intento y se genere un error. mConn.ConnectionTimeout = 40 'Establece o devuelve la posición de un motor de cursores. 'En nuestro caso lo ponemos del lado del cliente mConn.CursorLocation = adUseClient 'Contiene la información que se utiliza para establecer una conexión a un 'origen de datos. mConn.ConnectionString = _ "UID=benito" & _ ";PWD=benito" & _ ";DATABASE=autonomo;" & _ "SERVER=localhost;" & _ "DRIVER={MySQL ODBC 3.51 Driver};" ' donde 'UID: El nombre de usuario que tiene permiso para conectarse 'PWD: La contraseña para UID 'DATABASE: El nombre de la base de datos 'SERVER: El nombre del host o la dirección IP 'DRIVER: El nombre del controlador ODBC 'Se abre la conexión mConn.Open 'Se introduce el valor en la variable usuario Usuario = "Pepe" 'Se llama al formulario principal para que introduzca en la barra de estado 'la información acerca del usuario ' mdiPrincipal.PonerUsuario 'Se oculta el formulario de entrada de usuario 'frmLogin.Hide 'Se muestra el formulario tapiz del principal 'Me conecto al a base de datos para recoger los permisos 'que tiene el usuario ' Set Sesion = DameSesion(frmLogin.txtUserName.Text) frmPrincipal.Enabled = True frmPrincipal.Show Exit Sub controlerror: 'Se ha producido un error. Le damos la oportunidad al usuario 'de que vuelva a insertar su nombre y contraseña 'MsgBox "Compruebe nombre y contraseña" & frmLogin.txtPassword.Text, vbCritical 'frmLogin.txtUserName.SetFocus End Sub Luego, cuando quieras realizar una consulta por ejemplo usas el código siguiente: 'Declaras la variable recordSet Dim rs As ADODB.RecordSet 'Se inicializa el manejador Set rs = New ADODB.Recordset 'Se introducen los parámetros de conexión rs.CursorType = adOpenKeyset rs.LockType= adLockPessimistic 'Se obtiene la cadena SQL rs.Source = "SELECT campo1, campo 2 FROM tabla" rs.ActiveConnection = mConn 'Finalmente se abre rs.Open Para acceder a los campos resultado de la consulta tendrías que usar: rs.Fields(0).value --> sería el campo 1 rs.Fields(1).value --> sería El campo 2 Para verificar si el recordset esta vacío (porque el resultado de la consulta sea de 0 filas) usamos la instrucción: Rs. EOF --> variable booleana que nos dice si esta vacío Para moverse por el recordset se usa la instrucción: Rs. MoveNext En caso de querer ejecutar una instrucción SQL de actualización de la base de datos en lugar de una consulta deberás usar el siguiente código: 'Declaramos la variable 'Command Dim cmd As ADODB.Command Set cmd = New ADODB.Command cmd.ActiveConnection = mConn cmd.CommandType = 1 cmd.CommandTimeout = 40 'Se contruye la cadena para hacer update o el insert o el delete.... cmd.CommandText = "update table set campo1 = 'x' where campo2 = 'y'" cmd.Execute Espero que te sirva de algo todo esto, y si tienes alguna duda, únicamente tienes que preguntar. Un saludito.