りんごさんありがとうございます。
検索不足でした。
リンク先で、複数の値を渡すやり方で引数を渡すことができました!!
渡す側
Private Sub 更新削除_Click()
Dim args As String
args = Me.顧客コード & "," & Me.来院日時
DoCmd.OpenForm "F05_更新削除_来院データ", , , , , , args
End Sub
受ける側
Private Sub Form_Open(Cancel As Integer)
Dim str As Variant
If Me.OpenArgs <> "" Then
str = Split(Me.OpenArgs, ",", , vbTextCompare)
Me.顧客コード検索.Value = str(0)
Me.来院日時検索.Value = str(1)
End If
End Sub
これで、正しく渡したい引数を渡して「F05_更新削除_来院データ」にも正しく表示されるのですが
なんか動きが変なんです。
渡す側で、コマンドボタンを押して「F05_更新削除_来院データ」が表示されるのですが
渡す側のフォームが全面にアクティブ化されていて開いたフォームが上手く表示できません。
また、続けてコマンドボタンを押すと今度はなにも反応しなくなってしまいます。
なにかおかしいでしょうか??
openargsでやり取りする理由は、それしかわからなかったからです😭
「F05_更新削除_来院データ」のフォームは、今回のようにコマンドボタンから引数を渡して開きたい場合と
直接開いて、ヘッダーにあるコンボボックスの引数を指定して表示させる2通りで表示させます。
このフォームのフィルターには、
(顧客コード=Forms!F05_更新削除_来院データ!顧客コード検索 and 来院日時=Forms!F05_更新削除_来院データ!来院日時検索)と入力していて、ヘッダーにあるコンボボックスの引数に応じてレコードを表示させています。
分かりにくい説明で大変恐縮ですが、よろしくお願いいたします。
ダイアログ(acDialog)で開くのをやめたから?
AccessVBAでフォームを画面遷移っぽく見せる - Ateitexe アテークゼ *非IT企業のプログラマによるメモブログ
規定値モード(acWindowNormal)で開いたら、DoCmd.Close acForm, Me.Nameとするブログがありました。どうでしょう?