Hola necesito de su ayuda. Tengo una aplicacion que quiero que cuando tu presiones un commandbutton grabe los datos de un label a una tabla que estara en una base de datos MYSQL. Tambien quisiera (perdon por tener tantas dudas) que cuando lo pulses otra vez los datos del label te los escriba en otra celda.
Gracias por adelantado
Un saludo
Buen día syryus y bienvenido al foro. Para empezar con el ejemplo que te voy a dar, primero debes crear una tabla llamada "tabla" en la base de datos llamada "test". Para crear la tabla debes importar el siguiente script:
CREATE TABLE tabla (
'Campo1' varchar(30) default NULL,
'Campo2' varchar(30) default NULL,
'Campo3' varchar(30) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Lo siguiente es comenzar con la aplicación.
Agregar 4 controles; 1 CommandButton, 3 TextBox e insertar el siguiente código en un...
Formulario
Dim Conn As ADODB.Connection
Sub ConectaServer()
BaseDatos = "test"
Host = "localhost"
Puerto = "3306"
Usuario = "root"
Pass = ""
Cadena = "Provider=MSDASQL.1;Password=;" & _
"Persist Security Info=True;User ID=;" & _
"Extended Properties=" & Chr$(34) & _
"Driver={MySQL ODBC 3.51 Driver};" & _
"DESC=;Database=" & BaseDatos & _
";Server=" & Host & ";UID=" & Usuario & _
";Password=" & Pass & ";PORT=" & Puerto & _
";Option=16387;STMT=;" & Chr$(34)
Set Conn = New ADODB.Connection
On Error GoTo ups
Conn.Open Cadena
Exit Sub
ups:
MsgBox "No fue posible establecer conexión con servidor. " & _
"Revise conexión con bases de datos", vbCritical, "Sin conexión"
End
End Sub
Sub InsertaRegistros()
Dim CadenaSQL As String, Campo1 As String, Campo2 As String, _
Campo3 As String
Campo1 = Chr(39) & Text1.Text & Chr(39) & Chr(44)
Campo2 = Chr(39) & Text2.Text & Chr(39) & Chr(44)
Campo3 = Chr(39) & Text3.Text & Chr(39)
CadenaSQL = "INSERT INTO tabla VALUES(" & Campo1 & Campo2 & Campo3 & ")"
On Error GoTo ups
Conn.Execute CadenaSQL
Exit Sub
ups:
MsgBox Err.Description, vbCritical
End Sub
Private Sub Command1_Click()
Dim Pregunta As String
Pregunta = MsgBox("¿Desea agregar un registro?", vbQuestion + vbYesNo, "Pregunta")
ConectaServer
If Pregunta = vbYes Then
On Error GoTo ups
InsertaRegistros
MsgBox "Registro agregado con éxito"
End If
Exit Sub
ups:
MsgBox Err.Description, vbCritical
End Sub
Private Sub Form_Unload(Cancel As Integer)
Conn.Close: Set Conn = Nothing
End Sub
Tu servidor MySQL deberá estar como "localhost", el puerto deberá ser "3306", el usuario "root" y la contraseña "" (sin contraseña). Espero te haya servido. Nos vemos.