Bueno para ahcer la conexion yo hice un boton de conectar y dentro de este meti el siguiente codigo,del cual yo jalo los datos de pass y user desde dos txt, para que solo yo pueda entrar a mi bd, tambien se pueden jalar los demas datos como son el nombre de la bd, el puerto, hasta en en que maquina esta la bd eso hace que el programita funcione con cualquier bd que use MySQL. Pero yo les voy a mostar un caso espesifico para que sea un poco mas sencillo.
otra cosa para que esto funcione tenemos que agregar una dependencia a nuestro proyecto que seria la "Microsoft ActiveX Data Objects 2.8 Library"
y un objeto que se llama datagrid para mostrar nuestras tablas.
nota: las variables conexion y rs son publicas para que se puedan utilizar en todo el formulario
Código
Private Sub Command1_Click() 'declaramos una variable del tipo ADODB.Connection que nos permitira conectarnos nuestra bd Set conexion = New ADODB.Connection 'ahora le asignamos a nuestra variable la propiedad de ConnectionString_ 'que es la cadena de conexion a nuestra bd_ 'y ai iria la cadena que esta despues del = entre "" 'Eso no va cambiar esa cadena no la da mysql para poder conectarnos a bd de sus servidor de db_ 'en esta caso es 5.0.3 conexion.ConnectionString = "driver={MySQL ODBC 3.51 Driver};server=localhost;uid=" & user.Text & ";pwd=" & pass.Text & ";database=inventario;connection=" ' Despues de poner la cadena de conexion la abrimos con Open conexion.Open ' y ya con esto estamos conectados a la BD End Sub
Bueno ahora ya estando coenctados pues lo que queremos es ver el contenido de las tablas para eso yo utilize un combobox para seleccionar la tabla que yo quiera ver y mostrarla en un datagrid, En mi caso son tres tablas llamdas memorias,comunicaciones y micros, para eso meti el codigo en el evento click del combo box que es cuando selecciona el contenido del combo, en tonces solo lo que se hace es preguntar que item selecciono y entrar a esa parte del codigo entonces quedaria asi:
Código
Esta es la interface de la aplicacion
Private Sub Combo1_Click() 'creamos una varaible y le asignamos un ubjeto recordset Set rs = New ADODB.Recordset 'preguntamos que tabla selecciono If Combo1.Text = "Memorias" Then ' aqui se hace un sivlo para poder leer el contenido completo de la tabla seleccionada With rs .ActiveConnection = conexion .CursorLocation = adUseClient .CursorType = adOpenDynamic .LockType = adLockOptimistic .Open "select * from Memorias" End With ' se termina el siclo, se leen los datos y se imprimen en el data grid de_ ' la siguiente manera Set DataGrid1.DataSource = rs ' a qui solo acomode el ancho de las columnas para que los datos se mostraran correctamente DataGrid1.Columns(0).Width = 200 DataGrid1.Columns(1).Width = 500 DataGrid1.Columns(2).Width = 5000 DataGrid1.Columns(3).Width = 1000 tabla = 1 End If If Combo1.Text = "Comunicaciones" Then With rs .ActiveConnection = conexion .CursorLocation = adUseClient .CursorType = adOpenDynamic .LockType = adLockOptimistic .Open "select * from Comunicaciones" End With Set DataGrid1.DataSource = rs DataGrid1.Columns(0).Width = 200 DataGrid1.Columns(1).Width = 1800 DataGrid1.Columns(2).Width = 1000 DataGrid1.Columns(3).Width = 5000 tabla = 2 End If If Combo1.Text = "Micros" Then With rs .ActiveConnection = conexion .CursorLocation = adUseClient .CursorType = adOpenDynamic .LockType = adLockOptimistic .Open "select * from Micros" End With Set DataGrid1.DataSource = rs DataGrid1.Columns(0).Width = 200 DataGrid1.Columns(1).Width = 800 DataGrid1.Columns(2).Width = 5000 tabla = 3 End If End Sub
Ahora para doder modificar las tablas lo que quice es poder hacerlo desde el datagrid, entonces me cree un menu con las opxiones de Agregar registro, borrar y guardar
para poder crear un registro nuevo seria asi:
Código
'con esto se abre un registro nuevo y en el data grid les aparesera esos campos_ 'vacios para lleabrlos rs.AddNew
Despues solo se le tiene que guardar y listo
Código
con eso se actualizan los cambios y se guardan en nuestra bd rs.Update
Ahora el boton de borrar
Código
Private Sub baja_Click() 'Aqui le puse una pregunta por que hay veces que uno preciona la opcion sin querer 'y para evitar borrar un registro indeseadamente le puse la aprovacion esa Dim x As Integer x = MsgBox("desea borrar el registro", vbYesNo + vbQuestion, "aviso") 'aqui se pregunta si se eligio que si en el msgbox If x <> vbYes Then Exit Sub 'se borra el registro rs.Delete 'se mueve el puntero al registro siguiente rs.MoveNext ' se pregutna si estas hasta el final de la tabla muevete un registro atras If rs.EOF Then rs.MoveLast End If MsgBox "El registro se borro correctamente", vbInformation End Sub
Bueno espero que les sea de utilidad a los que van empesando con esto ya que creo que es la manera mas sencilla de poder ver tablas y agregar y borrar registro de una BD....
Esta no es la mejor de tratar con BD MySQL pero si creo que es la mas sencilla es por eso que la puse, yo recomiendo que se usen mejor sentencias sql para todo(busquedas, borrado, añadir,vistas,etc....), pero como en un principio dije que es para las personas que van empesando y creo que con esto se darian una idea de como es esto