Hola Expertos, Mi nombre es Jasmin y estudio computación, la verdad estoy muy complicada porque me dieron una tarea con nota la cual consiste en una aplicación en Visual Basic 6 con base de datos access 2003, tengo que crear un formulario con datos como Rut, Nombre, Dirección y Teléfono, debe tener 3 botones, Ingresar datos, Modificar datos y Eliminar datos, de tanto buscar por internet he logrado que me ingrese los datos a la base de datos access por medio de los textbox, pero no se como realizar la búsqueda para poder modificarlos o eliminarlos, la búsqueda es ingresando el rut en un textbox y si el rut existe debería mostrar los datos en los textbox, nombre, dirección y teléfono, tengo que entregar la tarea para el próximo lunes y no se como hacerlo, por favor les pido de corazón que alguien me pueda ayudar ya que me quiero sacar buena nota.
Al que me ayude le estaré eternamente agradecida. Muchas muchas gracias. Para aclarar un poco más: Estoy trabajando con un textbox para cada campo en el formulario, eso es lo que me están pidiendo, me gustaría saber como puedo hacer para que por medio del rut me muestre en los textbox los campos relacionados con ese rut, no se si me explico bien, ojala me puedan ayudar, por favor :(:(:(
Respuesta de Isaac Reyes
1
1
Isaac Reyes, Es mejor enseñar a pescar que dar el pescado
Para ayudarte, necesito saber la forma en que estás realizando la conexión a la base de datos ¿Qué estás utilizando para conectarte? Si es urgente, déjame una dirección para darte ayuda en línea.
Si por favor aquí le dejo mi coreo, la conexión que estoy utilizando es DAO. Ojala me pueda mandar algún código que me sirva estamos en contacto, mucha gracias. Mi correo es: [email protected]
Si existe la forma de conectar DAO con access 2003 la desconozco, así que el ejemplo que te dejo funciona con ADO. Saludos... Para que este ejemplo funcione bien debes tener lo siguiente: '''''' EN ACCESS '''''''''' Base de datos: datos.mdb (Access 2000 - 2003) en el mismo lugar en que guardes la aplicación Tabla: persona Campos: rut, nombre, dirección, fono ''''''''' En VB6 ''''''''''''''''' Un formulario con: 4 campos de texto TxtRut TxtNombre TxtDireccion TxtFono 6 Botones CmdBuscar CmdLimpiar CmdGuardar CmdEliminar CmdModificar CmdSalir Y en el proyecto debes agregar una referencia a Microsoft ActiveX DataObjects 2.X library (Proyecto>Referencias...>Microsoft ActiveX DataObjects 2.X library) Luego, en la hoja de código del formulario agregas el siguiente código '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Function fcnConectarBD() As ADODB.Connection Dim strBD As String strBD = App.Path + "\datos.mdb" Set fcnConectarBD = New ADODB.Connection fcnConectarBD.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & strBD fcnConectarBD.CursorLocation = adUseClient End Function Private Sub subLimpiarFrm() 'Setear campos Me.txtDireccion.Text = "" Me.txtFono.Text = "" Me.txtNombre.Text = "" Me.txtRut.Text = "" 'Habilitar objetos necesarios y deshabilitar los otros Me.cmdEliminar.Enabled = False Me.cmdModificar.Enabled = False Me.cmdGuardar.Enabled = True Me.txtRut.Locked = False End Sub Private Sub cmdBuscar_Click() Dim strSql As String Dim Bdd As ADODB.Connection Dim rstDatos As ADODB.Recordset If Me.txtRut.Text <> "" Then strSql = "SELECT * FROM persona WHERE rut='" & Me.txtRut.Text & "'" Set Bdd = fcnConectarBD 'Conectar la base de datos Set rstDatos = New ADODB.Recordset rstDatos.Open strSql, Bdd 'Generar la consulta 'Si se ha encontrado información If rstDatos.RecordCount > 0 Then rstDatos.MoveFirst 'Mover al primer registro (No es necesario, pero acostumbro ponerlo) 'Llenar campos Me.txtRut.Text = rstDatos("rut") Me.txtDireccion.Text = rstDatos("direccion") Me.txtNombre.Text = rstDatos("nombre") Me.txtFono.Text = rstDatos("fono") 'Habilitar objetos necesarios y deshabilitar los otros Me.cmdEliminar.Enabled = True Me.cmdModificar.Enabled = True Me.cmdGuardar.Enabled = False Me.txtRut.Locked = True Else 'No se encontró información MsgBox "No hay resultados" End If Bdd.Close Else MsgBox "Ingrese un RUT" End If End Sub Private Sub cmdEliminar_Click() Dim Bdd As ADODB.Connection Dim intFilasAfectadas As Integer Set Bdd = fcnConectarBD Bdd.Execute "DELETE FROM persona " & _ " WHERE rut='" & Me.txtRut.Text & "'", intFilasAfectadas If intFilasAfectadas > 0 Then MsgBox "Datos Eliminados" subLimpiarFrm End If End Sub Private Sub cmdGuardar_Click() Dim Bdd As ADODB.Connection Dim intFilasAfectadas As Integer 'Recorrer los controles del formulario For i = 0 To Me.Count - 1 'Si el control es un cuadro de texto If TypeName(Me.Controls(i)) = "TextBox" Then 'verificar que no esté vacío If Me.Controls(i).Text = "" Then MsgBox "Debe llenar todos los campos" Exit Sub 'Salir del procedimientos End If End If Next 'Las siguientes líneas no se ejecutan si hay un campo vacío, ya que Exit sub 'forzá el témino del procedimiento Set Bdd = fcnConectarBD Bdd.Execute "INSERT INTO persona VALUES ('" & Me.txtRut.Text & "'," & _ "'" & Me.txtNombre.Text & "'," & _ "'" & Me.txtDireccion.Text & "'," & _ "'" & Me.txtFono.Text & "')", intFilasAfectadas Bdd.Close If intFilasAfectadas > 0 Then MsgBox "Datos guardados" End If End Sub Private Sub cmdLimpiar_Click() subLimpiarFrm End Sub Private Sub cmdModificar_Click() Dim Bdd As ADODB.Connection Dim intFilasAfectadas As Integer 'Recorrer los controles del formulario For i = 0 To Me.Count - 1 'Si el control es un cuadro de texto If TypeName(Me.Controls(i)) = "TextBox" Then 'verificar que no esté vacío If Me.Controls(i).Text = "" Then MsgBox "Debe llenar todos los campos" Exit Sub 'Salir del procedimientos End If End If Next 'Las siguientes líneas no se ejecutan si hay un campo vacío, ya que Exit sub 'forzá el témino del procedimiento Set Bdd = fcnConectarBD Bdd.Execute "UPDATE persona SET nombre='" & Me.txtNombre.Text & "'," & _ "direccion='" & Me.txtDireccion.Text & "'," & _ "fono='" & Me.txtFono.Text & "' " & _ " WHERE rut='" & Me.txtRut.Text & "'", intFilasAfectadas If intFilasAfectadas > 0 Then MsgBox "Datos Modificados" End If End Sub Private Sub cmdSalir_Click() End End Sub Private Sub Form_Load() subLimpiarFrm End Sub ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Muchas gracias te estoy muy agradecida ! Lo estoy modificando para conexión DAO Cuando lo termine lo voy a postear Mi correo es [email protected] Un Beso para ti y para todos los que me ayudaron !