Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/12/2007, 12:34
Avatar de titux_co
titux_co
 
Fecha de Ingreso: octubre-2006
Mensajes: 24
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Conexion BD MySql?

La conexion a una base de datos de mysql no es complicada, es casi igual a la de sql server, lo que cambia es el driver de conexión, tenés que bajarte el ODBC driver de mysql (en la pagina de mysql lo encontras) luego tenes que crear el DSN del driver en el panel de control y listo!

en mi caso la conexión la hago desde una rutina especial en un módulo. A la cual llamo desde cualquier formulario. La rutina de conexión te queda algo asi:

Option Explicit
Dim cadenaconexion As String
Public conn As ADODB.Connection

Public Sub conectar_bd(ByRef servidor As String, ByRef bd As String, ByRef usuario As String, ByRef contraseña As String)
On Error GoTo error
With datos_conexion
.bd = bd
.servidor = servidor
.usuario = usuario
.contraseña = contraseña
End With
cadenaconexion = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=" & servidor & ";DATABASE=" & bd & ";UID=" & usuario & ";PWD=" & contraseña & ";OPTION=16427"
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = cadenaconexion
conn.CursorLocation = 3
conn.Open
Exit Sub
error:
manejador_errores
Resume Next
End Sub

para manejar los recordests tenes que hacerlo así por ejemplo:
Public tabla As New ADODB.Recordset
(está declarada como pública en un módulo y la llamo desde los formularios, para no tener que declararla en cada formulario)

y la llamo así:
With tabla
.ActiveConnection = conn
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open "select * from marcas"
End With
Do Until tabla.EOF
cmbmarca.AddItem tabla.Fields("nombre")
tabla.MoveNext
Loop
tabla.Close

Así obtengo por ejemplo una lista de marcas desde una tabla en una base de datos

espero sea de tu ayuda. cualquier cosa consultame


Exitos