Ayuda Urgente Visual Basic 6 !

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 :(:(:(

1 respuesta

Respuesta
1
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 !

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas