Añadir registro en access
Encontré el siguiente código en internet para añadir registro en un cuadro combinado, me en msgbox.
Private Sub Lista52_NotInList(NewData As String, Response As Integer)
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim Msg As String
Dim NewID As String
Dim UltimoElemento As String
On Error GoTo Err_Cuadro_Lista52_NotInList
If NewData = "" Then Exit Sub
Msg = "'" & NewData & "' No existe en la lista." & vbCr & vbCr
Msg = Msg & "Desea agregarlo?"
If MsgBox(Msg, vbQuestion + vbYesNo) = vbNo Then
Response = acDataErrContinue
Else
Set Db = CurrentDb
Set Rs = Db.OpenRecordset("Tipo", dbOpenDynaset)
Msg = " Escriba el siguiente numero " & Id_tipo + 1
NewID = InputBox(Msg)
Rs.FindFirst BuildCriteria("id_tipo", dbText, NewID)
Do Until Rs.NoMatch
NewID = InputBox("id_tipo " & NewID & " Ya existe." & _
vbCr & vbCr & Msg, NewID & " Ya existe ")
Rs.FindFirst BuildCriteria("id_tipo", dbText, NewID)
Loop
Rs.AddNew
Rs![Id_tipo] = NewID
Rs![Nombre_animal_esp] = NewData
Rs.Update
Response = acDataErrAdded
End If
Exit_Cuadro_Lista52_NotInList:
Exit Sub
Err_Cuadro_Lista52_NotInList:
MsgBox Err.Description
Response = acDataErrContinue
End Sub
Eso lo apliqué en un cuadro combinado en donde la tabla solo tiene dos campos.
Ahora, tengo otra tabla con 3 campos: Id_tipo, Nombre_animal_esp y Nombre_animal_ing.
Los coloqué en el formulario en un cuadro combinado Nombre_animal_esp, y el otro registro no está en el formulario.
Quiero hacer lo mismo, igual al código de arriba, que me permita desde ese cuadro combinado añadir ID, nombre_animal_esp y también el campo nombre_animal_ing.
El código de arriba solo sirve para uno para una tabla de dos campos y yo quiero uno para tres campos, y el último campo no aparece en el formulario.
Private Sub Lista52_NotInList(NewData As String, Response As Integer)
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim Msg As String
Dim NewID As String
Dim UltimoElemento As String
On Error GoTo Err_Cuadro_Lista52_NotInList
If NewData = "" Then Exit Sub
Msg = "'" & NewData & "' No existe en la lista." & vbCr & vbCr
Msg = Msg & "Desea agregarlo?"
If MsgBox(Msg, vbQuestion + vbYesNo) = vbNo Then
Response = acDataErrContinue
Else
Set Db = CurrentDb
Set Rs = Db.OpenRecordset("Tipo", dbOpenDynaset)
Msg = " Escriba el siguiente numero " & Id_tipo + 1
NewID = InputBox(Msg)
Rs.FindFirst BuildCriteria("id_tipo", dbText, NewID)
Do Until Rs.NoMatch
NewID = InputBox("id_tipo " & NewID & " Ya existe." & _
vbCr & vbCr & Msg, NewID & " Ya existe ")
Rs.FindFirst BuildCriteria("id_tipo", dbText, NewID)
Loop
Rs.AddNew
Rs![Id_tipo] = NewID
Rs![Nombre_animal_esp] = NewData
Rs.Update
Response = acDataErrAdded
End If
Exit_Cuadro_Lista52_NotInList:
Exit Sub
Err_Cuadro_Lista52_NotInList:
MsgBox Err.Description
Response = acDataErrContinue
End Sub
Eso lo apliqué en un cuadro combinado en donde la tabla solo tiene dos campos.
Ahora, tengo otra tabla con 3 campos: Id_tipo, Nombre_animal_esp y Nombre_animal_ing.
Los coloqué en el formulario en un cuadro combinado Nombre_animal_esp, y el otro registro no está en el formulario.
Quiero hacer lo mismo, igual al código de arriba, que me permita desde ese cuadro combinado añadir ID, nombre_animal_esp y también el campo nombre_animal_ing.
El código de arriba solo sirve para uno para una tabla de dos campos y yo quiero uno para tres campos, y el último campo no aparece en el formulario.
1 respuesta
Respuesta de fibonnaci
1