Microsoft Access 掲示板

[登録時]2グループ組合せの自動採番 /管理番号連番自動入力 / 4

6 コメント
views
4 フォロー
4

hiroton様
ご丁寧に模範例まで教えて頂きありがとうございます。

チェックボックスを使ったことがないド素人なのですが、
チェックボックスON/OFF(True/false)で新規登録モードと切り替えみたいなことができるんですね。
読んだ参考書では、新規登録モード(Touroku)と修正モード(kakikae)、同じフォームで処理出来るような仕様になっていていて、ただし修正モード(kakikae)では主キーのような管理番号は書き換え対象から外してあったりしたので、今回のようなことで困っていました。

色々試してみて、また新たな質問挙げさせてもらうかもしれません。
いつも本当にありがとうございます。

通報 ...
  • 5
    hiroton 2021/02/01 (月) 13:11:35 b3a2d@f966d >> 4

    プログラミングのテクニックというやつですね
    「新規か修正」、2つの状態を判断できればいいので「ONかOFF」2つの状態を持てるチェックボックスで代用するという流れです。IF文との相性がいい(コードが簡素)になるのもポイントです

    その代わり、新規登録モード = Falseのとき、何モードなの?というのはコードを読んでも分かりにくいという面はあります


    テキストボックスで実装してもいいですし、3つの状態を判断しなければならないとかだとチェックボックスだと厳しいなんてこともあります

    クエリ検索フォーム
    [モード]テキストボックスを配置

    新規登録用
    Me!モード = "Touroku"
    Docmd.OpenForm "登録修正用フォーム"
    
    修正用
    Me!モード = "kakikae"
    Docmd.OpenForm "登録修正用フォーム"
    
    閲覧用
    Me!モード = "etsuran"
    Docmd.OpenForm "登録修正用フォーム"
    

    登録修正用フォーム

    Select Case Forms!クエリ検索フォーム!モード
    Case "Touroku"
        施設ID = ほにゃらら
    Case "kakikae"
        '修正用処理
    Case "etsuran"
        '閲覧用処理(書き換え自体を禁止するとか)
    Case Else
        MsgBox "モード指定が不正です"
    End Select
    

    先の回答の通りこのコード自体はあまり良いものではないですが、考え方としてはこういう流れになります

    テキスト(文字)を使うとコードだけを見ても何をやっているのが分かりやすいというメリットもあります(Case "etsuran"の中で施設ID = ほにゃららとかあったら「おかしくない?」ってなるとか)

  • 6

    3つの状態を判断する方法もあるんですね。
    ご丁寧にサンプルコード本当にありがとうございます。
    チェックボックスとともに勉強、テストしてみます。