Ich habe eine öffentliche Funktion in meinem Hauptformular, die einen neuen Datensatz in meinem Unterformular (auf meinem Hauptformular) erstellt. Ich versuche, die öffentliche Funktion mit einem Ja/Nein-Meldungsfeld aufzurufen. (Dh: Möchten Sie den Datensatz aktualisieren? Ja - Erstellt einen neuen Datensatz im Unterformular. Nein - Erstellt keinen neuen Datensatz).VBA-Fehler beim Aufruf der öffentlichen Funktion in ElseIf-Anweisung
Ich bin in der Lage, die öffentliche Funktion außerhalb der Y/N-Message-Box aufzurufen. Sobald ich jedoch den Code in die ElseIf-Anweisung einfüge, erhalte ich die Meldung "Sie können nicht zum angegebenen Datensatz wechseln". Fehler im "DoCmd.GoToRecord,, acNewRec" Teil meiner öffentlichen Funktion.
Public Function NewEventEntry()
'this public function creates an empty new record in the subform
Me![subform_Events].SetFocus
DoCmd.GoToRecord , , acNewRec
End Function
Private Sub RunUpdateQuery_Click()
'calling the public function works fine here
'Call NewEventEntry
If DCount("*", "qry_CheckAllBadAddress") = 0 Then
MsgBox "All addresses are marked bad.", vbExclamation
ElseIf MsgBox("Do you want to update the addres?", vbYesNo + vbQuestion, "Warning") = vbYes Then
'calling the public function here doesn't work; i receive an error saying: "You can't go to the specified record." the problem is in the public function, specifically the DoCmd.GoToRecord , , acNewRec line
Call NewEventEntry
End If
End Sub
Ich habe es versucht, und wenn diese Zeile eingegeben wird, ist es auf der Suche nach dem Teilformular, um tatsächlich offen zu sein (für sich selbst, anstatt "offen" auf sein das Hauptformular). Der 'setfocus' Teil ist so, dass das Hauptformular einen neuen Datensatz im Unterformular (auf dem Hauptformular) erstellen kann. Die Codezeile funktioniert nur, wenn sie in der ElseIf-Anweisung enthalten ist. – xpandamonium