3.(1.2.)が実現できた場合
いくつか方法がありますが、基本は
kaikae処理
If 新規登録処理 Then
施設ID = ほにゃらら
End If
という作りにすることです。
このフラグは、クエリ検索フォームでボタンのどちらを押したかで切り替わるものなので、例えば(良いサンプルではありません)
クエリ検索フォーム上に、「新規登録モード」チェックボックスを配置
新規登録ボタン
Me!新規登録モード = True
Docmd.OpenForm "クエリ検索フォーム"
詳細/修正ボタン
Me!新規登録モード = False
Docmd.OpenForm "クエリ検索フォーム"
kaikae処理
If Forms!クエリ検索フォーム!新規登録モード Then
施設ID = ほにゃらら
End If
のように作ると期待する動作ができます。クエリ検索フォーム側で処理することなのでもっと具体的な質問であれば各ボタンを押したときのコードを提示するようにしてください(質問自体新しく立て直したほうがいいかもしれません)
もう一度言いますが、この作りは良いものではありません
・修正モードの際は、フォーム1で選択した「施設ID」に紐付いた値が表示さる
こういう処理ができているようなので、登録修正用フォーム側に「新規登録モード」チェックボックスを置いて設定を変えるような形にすればいいでしょう
通報 ...
hiroton様
ご丁寧に模範例まで教えて頂きありがとうございます。
チェックボックスを使ったことがないド素人なのですが、
チェックボックスON/OFF(True/false)で新規登録モードと切り替えみたいなことができるんですね。
読んだ参考書では、新規登録モード(Touroku)と修正モード(kakikae)、同じフォームで処理出来るような仕様になっていていて、ただし修正モード(kakikae)では主キーのような管理番号は書き換え対象から外してあったりしたので、今回のようなことで困っていました。
色々試してみて、また新たな質問挙げさせてもらうかもしれません。
いつも本当にありがとうございます。
プログラミングのテクニックというやつですね
「新規か修正」、2つの状態を判断できればいいので「ONかOFF」2つの状態を持てるチェックボックスで代用するという流れです。IF文との相性がいい(コードが簡素)になるのもポイントです
その代わり、
新規登録モード = False
のとき、何モードなの?というのはコードを読んでも分かりにくいという面はありますテキストボックスで実装してもいいですし、3つの状態を判断しなければならないとかだとチェックボックスだと厳しいなんてこともあります
クエリ検索フォーム
[モード]テキストボックスを配置
登録修正用フォーム
先の回答の通りこのコード自体はあまり良いものではないですが、考え方としてはこういう流れになります
テキスト(文字)を使うとコードだけを見ても何をやっているのが分かりやすいというメリットもあります(
Case "etsuran"
の中で施設ID = ほにゃらら
とかあったら「おかしくない?」ってなるとか)3つの状態を判断する方法もあるんですね。
ご丁寧にサンプルコード本当にありがとうございます。
チェックボックスとともに勉強、テストしてみます。