メインフォームにサブフォーム(メインフォーム上にある)に新しいレコードを作成するパブリック関数があります。私はYes/Noメッセージボックスでpublic関数を呼び出そうとしています。 (つまり、レコードを更新しますか?はい - サブフォームに新しいレコードを作成します。いいえ - 新しいレコードを作成しません)。ElseIfステートメントでPublic関数を呼び出すVBAエラー
私はY/Nメッセージボックスの外にpublic関数を呼び出すことができます。ただし、ElseIfステートメント内にコードを挿入すると、「指定されたレコードに移動できません。」というメッセージが表示されます。私のパブリック関数の "DoCmd.GoToRecord、、acNewRec"部分のエラー。
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
私はそれを試してみました。その行が入力されると、実際に開いているサブフォームを探していますメインフォーム)。 'setfocus'ピースは、メインフォームがサブフォーム(メインフォーム上にある)に新しいレコードを作成することを知るようになっています。 「コード」の行は、ElseIfステートメント内にあるときには機能しません。 – xpandamonium