アプリ版:「スタンプのみでお礼する」機能のリリースについて

access初心者です。
先生が生徒の成績を入力するツールを作っています。

フォーム上で、生徒の学籍番号を入力すると、
自動的に学科と生徒の名前が表示されるようにしたいです。
(入力時、生徒の名前が表示されれば、解答の名前との
チェックが出来る)



構成としては

☆T学生名簿(学籍番号・学科・氏名)

☆T成績入力(学籍番号・1-1解答・1-2解答・・・)

です。

フォーム上で入力したデータは、[T成績入力]に
表示されます。


とても困っています。

教えて下さい(>_<)

A 回答 (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学生名簿;」


・・・以上です。
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまい、申し訳ありませんでした。

とても助かり、無事表示出来ました。

有難うございました。

お礼日時:2010/01/15 00:27

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

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