私が欲しい:
フォームを開くには、コントロール ボックスから項目を選択し、ボタンをクリックして新しいフォームを開き、以前に選択した項目がフィールドに追加された新しいレコードを入力できるようにします。
私がこれまでに行ったこと:
2 つのフォームを作成し、両方にコントロールを追加し、コマンド ボタンを追加しました。MS Access ウィザードを使用して、このコードを追加しました。
Private Sub CommandNext_Click()
On Error GoTo Err_CommandNext_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "FormX"
DoCmd.OpenForm stDocName, , , "[BatchID] = " & Me![ListBatch], acFormAdd
Exit_CommandNext_Click:
Exit Sub
Err_CommandNext_Click:
MsgBox Err.Description
Resume Exit_CommandNext_Click
End Sub
3行目は私のです。
結果として:
- 2 番目のフォームがまだ開いていない場合、最初のフォームのボタンを押すと、データが空の 2 番目のフォームが開きます (パラメーターの値を表示するテキスト フィールドは空です)。
- 2 番目のフォームが既に開いている場合、最初のフォームのボタンを押すと、フォーカスが 2 番目のフォームに変わり、選択したパラメーターに一致する古い既存のレコードが表示されます。
- 古いレコードを表示せずに、指定したテキスト フィールドに選択したパラメータを表示して 2 番目のフォームを開きたいです。
どちらの場合も、2 番目のフォームのFilterプロパティには、ボタンを使用して送信したパラメーターが取り込まれますが、それは私が目指しているものではありません。