Abrir Formulario Access según ultimo registro creado

Os pido ayuda con un problema de Access que tengo

Veréis, tengo una función creada con INSERT INTO entre 2 tablas y formularios, uno seria el formulario principal que se llama "TAB_USUARIOS" y el otro es un histórico que se llama "TAB_USUARIOS_HISTORICO". En el formulario "USUARIOS" relacionado con la tabla "TAB_USUARIOS" tengo un botón creado con la función de ELIMINAR REGISTRO, en el en EVENTOS-AL HACER CLIC he creado el siguiente procedimiento:

Private Sub Imagen789_Click()
Dim respuesta As String
Dim cSql As String
respuesta = MsgBox("ELIMINARÁ EL REGISTRO ACTUAL,¿DESEA CONTINUAR?", vbYesNo, "CONFIRMAR")
If respuesta = 6 Then
DoCmd.RunSQL "INSERT INTO TAB_USUARIOS_HISTORICO (DNI,NombreyApellidos,Empleo,Antiguedad) VALUES ('" & DNI.Value & "', '" & NombreyApellidos.Value & "', '" & Empleo.Value & "', '" & Antiguedad.Value & "')"
MsgBox ("LA FICHA ELIMINADA PASARÁ AL REGISTRO HISTÓRICO"), vbInformation, "PASO DE DATOS A HISTÓRICO COMPLETADO"
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, "USUARIOS", acSaveYes
DoCmd.OpenForm "USUARIOS_HISTORICO"
MsgBox ("REGISTRO ACTUAL ELIMINADO"), vbInformation, "REGISTRO ELIMINADO"
Else
MsgBox ("REGISTRO ACTUAL NO ELIMINADO"), vbInformation, "CANCELAR ELIMINACION"
End If
End Sub

Como veis lo que busco con el código es que cuando elimine el registro de la TAB_USUARIOS me mande ciertos campos coincidentes (DNI, NombreyApellidos,... Etc) a la TAB_USUARIOS_HISTORICO; que luego me borre el registro de la Tab_usuarios; que cierre el Formulario USUARIOS y que me abra el Formulario USUARIOS_HISTORICO

Hasta ahí el código funciona perfectamente y hace su función, pero necesito otra cosa que no soy capaz de enlazar, cuando hago la sentencia de ABRIR EL FORMULARIO HISTÓRICO, esto es:DoCmd. OpenForm "USUARIOS_HISTORICO", quiero que abra el formulario pero mostrando el registro recién eliminado de la TAB_USUARIOS, que vendría a ser el ultimo registro creado también dentro de la TAB_USUARIOS_HISTORICO

He intentado enlazarlo con una WHERE CONDITION pero no doy con la sentencia correcta que me haga bien esa función

¿Alguno podría decirme como ponerlo exactamente para que haga esa función y me muestre el formulario con los datos recién eliminados de la otra Tabla?

1 respuesta

Respuesta
1

Oscar: En el Evento Form_Load (Al Cargar) de ese formulario de Históricos, no en la llamada, en el que tu llamas USUARIOS_HISTORICO

Private Sub Form_Load()

DoCmd.GoToRecord , , acLast

End Sub

Y si quieres ir aotro, mira en la própia ayuda de Access.

DoCmd. GoToRecord (método)

Creo que te irá bien, o sea al último registro creado en la Tabla de Origen

Saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas