Cómo actualizar datos de una base de datos.

Tengo una base de datos de estudiantes, donde en mi hoja1 es de presentación y la hoja2 incluye en columna A (NOMBRE DE ALUMNO) B (EDAD) C (CALIFICACION).

El experto Dante Amor, me ayudo con este código que uso para buscar usando una userform, en texbox1 meto el nombre de mi alumno, y me llena el textbox 2 con su edad y el texbox3 su calificación, como puedo hacerle para que si actualizo el texbox3 que es el de calificación me busque el nombre que agregue en el texbox1 en mi base de datos actualice de ese nombre la calificación que cambie en el texbox3.

De antemano muchas gracias, este foro me ha ayudado en mucho a aprender.

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Por.Dante Amor
    TextBox2 = ""
    TextBox3 = ""
    Set h2 = Sheets("Hoja2")
    Set b = h2.Columns("A").Find(TextBox1, lookat:=xlWhole)
    If Not b Is Nothing Then
        TextBox2 = h2.Cells(b.Row, "B")
        TextBox3 = h2.Cells(b.Row, "C")
    Else
        MsgBox "El dato no existe"
    End If
End Sub

1 respuesta

Respuesta
1

H o l a:

Pon un commandbutton en tu formulario y pon el siguiente código:

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h2 = Sheets("Hoja2")
    Set b = h2.Columns("A").Find(TextBox1, lookat:=xlWhole)
    If Not b Is Nothing Then
        h2.Cells(b.Row, "C") = CDbl(TextBox3)
    Else
        MsgBox "El dato no existe"
    End If
End Sub

Me funciona muy bien, solo tengo una duda, si el textbox3 es un numero si se actualiza, pero si es texto no me lo permite, habrá algo para que también  me acepte texto? Saludos. Gracias 

H o l a:

Como mencionaste que ibas a poner una calificación.

Entonces ocupa esta macro:

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h2 = Sheets("Hoja2")
    Set b = h2.Columns("A").Find(TextBox1, lookat:=xlWhole)
    If Not b Is Nothing Then
        If IsNumeric(TextBox3) Then
            h2.Cells(b.Row, "C") = CDbl(TextBox3)
        Else
            h2.Cells(b.Row, "C") = TextBox3
        End If
    Else
        MsgBox "El dato no existe"
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas