Access 2007 VBA DoCmd.Schließen funktioniert nicht
Ich weiß, das ist wahrscheinlich eine dumme Frage, aber Sie wissen, was Sie sagen. Ich habe von VBA in einer Access-Datenbank mit Befehlen für Auf Sie Auf. Im wesentlichen ist es ein Formular mit einem Kombinationsfeld und Zeitstempel, Benutzer-login. Sobald der button geklickt wird ein Dateneingabe-Formular geladen, davon abhängig, welcher name ausgewählt ist aus der Combo-Box. Ich möchte für das Login-Formular zu schließen, sobald das Formular zur Dateneingabe geöffnet hat. Das problem ist, dass egal, wo ich den DoCmd.Schließen Sie das blöde Formular nicht SCHLIEßEN!
Falls es Fragen in dieser form eingestellt ist, um automatisch geöffnet, wenn ein Benutzer die Datenbank öffnet.
Unten ist das VBA für das Ereignis-Prozedur, die der Schaltfläche zugeordnet.
Option Compare Database
Private Sub TimeInButton_Click()
Dim strLoginForm As String
If Me.AgentCombo = "Amber" Then
strForm = "frmCustomersAmber"
ElseIf Me.AgentCombo = "Amanda" Then
strForm = "frmCustomersAmanda"
ElseIf Me.AgentCombo = "Brett" Then
strForm = "frmCustomersBrett"
ElseIf Me.AgentCombo = "Marcus" Then
strForm = "frmCustomersMarcus"
ElseIf Me.AgentCombo = "Terrah" Then
strForm = "frmCustomersTerrah"
End If
'------------------------------------------------------------
' TimeInButton_Click
'
'------------------------------------------------------------
On Error GoTo TimeInButton_Click_Err
On Error Resume Next
DoCmd.GoToRecord , "", acNewRec
If (MacroError <> 0) Then
Beep
MsgBox MacroError.Description, vbOKOnly, ""
End If
DoCmd.OpenForm strForm
TimeInButton_Click_Exit:
Exit Sub
TimeInButton_Click_Err:
MsgBox Error$
Resume TimeInButton_Click_Exit
End Sub
- Haben Sie versucht, das ' DoCmd.Close acForm, "frmLogin" ', frmLogin wird Ihre form den Namen ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
DoCmd.Schließen Sie nimmt optionale Argumente, wird es viel mehr zuverlässig. Zum Beispiel,
On Error Goto 0
. Meine Vermutung ist, dass es einen Fehler beim Aufruf DoCmd.In der Nähe wird "verschluckt" von Ihrem On Error Resume Next-Anweisung weiter oben in deinem code.