それもChatGPT!?と驚いた使用方法を教えてください

質問です。

以下の条件で、条件分岐を実施しましたがうまくいきません。
AccessVBA初学者のため、なにとぞお力をお貸しください。

【条件】※業務内容を伏せるためツッコミどころの多い内容ですが、実装したいことは以下です。

=============================
テーブル:生徒情報
項目:生徒名 科目ID 住所

フィールド:生徒情報
連結項目 :生徒名 科目ID 住所
非連結項目:科目名

レコード
①田中,1,東京
②佐藤,2,福岡

フォームイベント:開くとき

プロシージャ内容:

Private Sub Form_Open(Cancel As Integer)
If Me!科目ID = "1" Then
Me![科目名] = "国語"
Else
Me![科目名] = "英語"
End If
End Sub
=============================

上記を実施したところ
フォームの科目名の表示は①②どちらも"国語"になってしまいます。

念のため、フォームの項目でSELECTし、ループ処理を実施しましたが
デバックした内容では①国語 ②英語となりますが
次はどちらも"英語"になってしまいます。

表示用の項目を生徒情報に追加する手もありますが、要件にないため渋っています。

対応方法をご存じの方がいらっしゃいましたらアドバイスお願いいたします。

質問者からの補足コメント

  • ありがとうございます。

    試してみましたが、①②ともに英語表記
    ①のレコードを選択するとどちらも国語表記に変わります。

    生徒情報テーブルのクエリを作成
    クエリデザインシートにてIIf関数で表示用項目を作成
    フォームの項目に作成した表示用項目を追加することで解決はしております。

    もう少し他の方の意見を待ってみて、回答がないようでしたらベストアンサーとさせていただきます。

    No.1の回答に寄せられた補足コメントです。 補足日時:2024/07/12 18:34

A 回答 (1件)

[科目名]のコントロールソースを


=IIf([科目ID] = "1", "国語", "英語")
としてください。
この回答への補足あり
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


おすすめ情報

このQ&Aを見た人がよく見るQ&A