Function PersonalizarVista(FName As Form, Tabla As String, Optional HayCriterio As Boolean = False, Optional CampoCriterio As String, Optional Criterio As Variant, Optional Subform As String)
Dim Registros As Long
On Error GoTo err_lbl
If HayCriterio = False Then
Registros = DCount("*", Tabla)
Else
Dim Criterio1 As String
Criterio1 = CampoCriterio & " = " & Criterio
Registros = DCount("*", Tabla, Criterio1)
FName.Controls(Subform).SetFocus
End If
DoCmd.RunCommand acCmdRecordsGoToLast
Select Case Registros
Case Is > 5
If HayCriterio = True Then
DoCmd.GoToRecord acActiveDataObject, , acPrevious, 3
Else
DoCmd.GoToRecord acDataForm, FName.Name, acPrevious, 3
End If
Case 2 To 5
If HayCriterio = True Then
DoCmd.GoToRecord acActiveDataObject, , acPrevious, 1
Else
DoCmd.GoToRecord acDataForm, FName.Name, acPrevious, 1
End If
End Select
DoCmd.RunCommand acCmdRecordsGoToNew
err_lbl:
Select Case Err.Number
Case 0
Case 3075
MsgBox Err.Number & " " & Err.Description
Exit Function
End Select
End Function