Private Sub Codigo_GotFocus() If Retorno = "Si" Then NroFicha = Null: NroFicha.SetFocus End Sub Private Sub NroFicha_GotFocus() NroFicha = Null End Sub Private Sub NroFicha_LostFocus() 'Comprobar si existe el número registro a modificar Retorno = "" Set TablaEnvios = CurrentDb.OpenRecordset("TarifasEnviadas", dbOpenDynaset) If TablaEnvios.RecordCount = 0 And NroFicha >= 0 Then MsgBox "No hay ninguna Ficha para modificar.", vbCritical, "Modificar Ficha": Retorno = "Si": Exit Sub If TablaEnvios.RecordCount = 0 And IsNull(NroFicha) Then PriNum = 1: UltNum = 1 Else PriNum = DMin("IdProp", "TarifasEnviadas"): UltNum = DMax("IdProp", "TarifasEnviadas") If NroFicha < PriNum Or NroFicha > UltNum Then MsgBox "El número de Ficha debe estar comprendido entre " & PriNum & " y " & UltNum & ".", vbCritical, "Modificar Ficha": Retorno = "Si": Exit Sub 'Añadir nuevos registros If IsNull(NroFicha) And TablaEnvios.RecordCount > 0 Then NroFicha = DMax("IdProp", "TarifasEnviadas") + 1: Exit Sub End If If IsNull(NroFicha) And TablaEnvios.RecordCount = 0 Then NroFicha = 1: Exit Sub Else 'Modificar registros existentes Set TablaEnvios = CurrentDb.OpenRecordset("TarifasEnviadas", dbOpenDynaset) TablaEnvios.FindFirst "IdProp=" & NroFicha TablaEnvios.Edit Me.NroFicha = TablaEnvios!IdProp Me.Codigo = TablaEnvios!Codigo Me.Nombre = TablaEnvios!Nombre Me.Poblacion = TablaEnvios!Poblacion Me.TariEnvi = TablaEnvios!TariEnvi Me.Fecha = TablaEnvios!Fecha TablaEnvios.Close Nombre.SetFocus NroFicha.Enabled = False: Codigo.Enabled = False End If End Sub