No.1ベストアンサー
- 回答日時:
> フォーム上で、生徒の学籍番号を入力すると、
> 自動的に学科と生徒の名前が表示されるようにしたいです。
幾つか方法が考えられますが、2つほど紹介します。
※下記の「タブ」は、各コントロールのプロパティシートのタブのことです。
【1・DLookup関数を使用する方法】
フォームに『学科』『氏名』テキストボックスを新規作成し、コントロールソースに
上記関数を使用した式を指定します。
コントロールソースのみの設定なので簡単ですが、レコード毎に演算が実行される
分、動作が遅くなるのと、このコントロールでの並べ替えや検索は行えないという
デメリットがあります。
(並べ替えや検索については、コントロールソースの代わりに、クエリ上で同関数を
使用した演算フィールドを作成し、そのフィールドをコントロールソースにすれば
対応可能になりますが)
『学科』テキストボックス:
<データ>タブ
・コントロールソース=(下記の式を、等号も含めて入力)
『学籍番号』フィールドが数値型の場合:
=DLookup("[学科]", "T学生名簿", "[学籍番号]=" & [学籍番号])
『学籍番号』フィールドがテキスト型の場合:
=DLookup("[学科]", "T学生名簿", "[学籍番号]='" & [学籍番号] & "'")
『氏名』テキストボックス:
<データ>タブ
・コントロールソース=(同上)
『学籍番号』フィールドが数値型の場合:
=DLookup("[氏名]", "T学生名簿", "[学籍番号]=" & [学籍番号])
『学籍番号』フィールドがテキスト型の場合:
=DLookup("[氏名]", "T学生名簿", "[学籍番号]='" & [学籍番号] & "'")
【2・コンボボックスを使用する方法】
T学生名簿のデータをリストに持ち、『学籍番号』を連結列とするコンボボックスを
使用することで、対応する『学科』や『氏名』を表示します。
設定項目は多くなりますが、上記の方法よりも動作は軽くなります。
『学科』コンボボックス:
<書式>タブ
・列数=「2」
・列幅=「3cm;0cm」
※「3cm」は適宜調整してください。また、リストをドロップダウンさせたときに学籍番号
<データ>タブ
・コントロールソース=「学籍番号」
・値集合タイプ=「テーブル/クエリ」
・値集合ソース=「Select [学科], [学籍番号] From T学生名簿;」
※上記の式を入力後、右端の「...」ビルダ)ボタンをクリックすると、上記の式に
対応したクエリのデザインビューを確認できます。
・連結列=「1」
・入力チェック=「はい」
(今回の例では自動で設定され、「いいえ」にはできません)
・使用可能=「はい」 ┬→「編集不可」&「カーソル移動・コピーは可」になります。
・編集ロック=「はい」 ┘
※「編集不可」&「カーソル移動やコピーも不可」にする場合は、
「使用可能=いいえ」&「編集ロック=はい」にします。
(グレー表示でよい場合は「使用可能=いいえ」&「編集ロック=いいえ」)
※「使用可能=はい」&「編集ロック=いいえ」にしてしまうと、コンボボックスのリストを
表示させると同じ学科内で学籍番号が最小の人にデータが勝手に変わってしまう
ので注意して下さい。
(コントロールソースを「学籍番号」ではなく「=[学籍番号]」にすれば、この問題は
回避可能ですが、演算コントロールなので並べ替えや検索はできなくなります)
『氏名』コンボボックス:
※デザインビュー上で『学科』コンボボックスをCopy&Pasteした後、必要箇所のみ
修正してやるのが楽かと思います(→以下、その前提で修正箇所のみ提示)。
<データ>
・値集合ソース=「Select [氏名], [学籍番号] From T学生名簿;」
・・・以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 第二回模試の3科目の各得点と合 1 2023/04/25 18:02
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「名前(first name) 1 2023/06/24 13:03
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「A,B組の女子の氏名のよみ。 1 2023/05/16 15:28
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- MySQL 三科目合計点のクラス別平均点求めるクエリ式を教えてください 1 2023/07/04 09:44
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで別テーブルの値をフォ...
-
access 自動採番 年が変わる...
-
最新の日付とその金額をクエリ...
-
サイベースには、オラクルのROW...
-
Access 文字+年ごとの自動採番
-
access 自動採番 「10-AA-000...
-
Accessで日付が変わると番号が...
-
access 請求番号の自動採番
-
アクセスで「空き番」の確認
-
access2003で学籍番号から生徒...
-
条件をつけて日付の古い行を抜...
-
ACCESSでの行番号の自動採番
-
[Access]異なるレコード間の文...
-
【アクセスVBA】テーブルにフィ...
-
アクセス 項目ごとに自動採番
-
Access:抽出して、色をつけたい。
-
最大レコード数について
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
SQL文で右から1文字だけ削除す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで別テーブルの値をフォ...
-
Accessでのレコード存在チェック
-
最新の日付とその金額をクエリ...
-
access 自動採番 年が変わる...
-
[Access]異なるレコード間の文...
-
【アクセスVBA】テーブルにフィ...
-
vba 直前の操作はキャンセルさ...
-
Accessで日付が変わると番号が...
-
条件をつけて日付の古い行を抜...
-
質問です。 下記のテーブルとデ...
-
Recordset.FindFirstについて
-
Access 文字+年ごとの自動採番
-
アクセスで「空き番」の確認
-
access2003で学籍番号から生徒...
-
Access:抽出して、色をつけたい。
-
Accessの色番号について
-
【Access】選択クエリのグルー...
-
access 自動採番 「10-AA-000...
-
sqlで質問です。 Aテーブルの登...
-
電話番号の局番と住所の検索に...
おすすめ情報