• ベストアンサー

アクセスの(売上伝票)フォームについて

アクセスの初心者です。下記の仕掛けの作り方の操作を教えてください。 (1)担当者テーブルがあります。     担当者コード 担当者名     001      山田     002      川本     003      吉田 (以下略)  売上伝票フォームで、売上入力するとき、担当者テキストボックスに担当者コードを「002」と入力すると、担当者名前のテキストボックスに、「川本」と自動的に表示し、(次の商品名のテキストボックスにフォーカスを移し)たい。  本を見ても載っておらず、講師に聞いても答えがなく教えて下さい。、実例を見ていますから出来ることは、間違いないと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.4

えーっと、「T売上」の中にも「担当者名」が入っているようですね。 「T売上」を編集して、「担当者名」フィールドを削っちゃってください。 んで、F売上の[レコードソース]プロパティを編集([…]ボタンをクリック)して、「T担当者」から「担当者名」フィールドを追加してやってください。 これでどうでしょうか? 「T売上」にも「T担当者」にも「担当者名」フィールドを作ってしまうと、そのうちに双方のテーブル間でデータの整合性が取れなくなってしまう可能性があります。 特別な場合を除き、「担当者名」フィールドは「T担当者」テーブルにのみ作成するようにして下さい。

その他の回答 (3)

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.3

表示する項目が多いとのことですが、コンボボックスでも数万件くらいは表示できますよ。 コンボボックスであれば、文字を直接入力することも出来ますし… ま、コンボボックスを使いすぎるとリソースを大量に消費してしまっていろいろ問題も起きるのですが… >ご回答の方法についても、もう少し初心者向けに、細かくお願いできたら有りがたいです。 とのこと。#1では、[]で囲んだものはプロパティの項目を、「」で囲んだものはプロパティの値を示しています。 メニューから表示-プロパティと操作して、プロパティウインドウを表示し、[項目]に「値」を記述していただければ出来ると思います。また、テーブル名、フィールド名は適宜置き換えて読んでいただくと幸いです。 さて、仰るようにテキストボックスに内容を表示する方法ですが、フォームの[レコードソース]プロパティを変更します。 1:フォームをデザインモードで開き、 2:フォームの左上の□をクリックし、メニューから表示-プロパティ と操作し 3:データのページの[レコードソース]をクリック。 4:同項目の右端に[…]のボタンが表示されるので、それをクリック。 クエリの編集画面になりますので、 5:メニューから、クエリ-テーブルの表示 6:担当者テーブルを追加 7:伝票テーブル-担当者テーブル間にリレーションシップが正しく設定されていれば、自動的に伝票テーブルと担当者テーブルが結合されるはずです。 そうでない場合は、伝票テーブルの担当者コードをクリック、その項目を担当者テーブルの担当者コードにドラッグして、リレーションを作成します。 8:そのリレーションをダブルクリックして、結合プロパティを表示します。 9:「伝票テーブルの全レコードと担当者テーブルの同じ結合…」を選択してOK 10:担当者テーブルの担当者名をダブルクリックし、担当者名フィールドを追加する 11:クエリの編集画面を閉じて、変更を保存 再びフォームを編集します。 12:テキストボックスを新しく配置して、 13:そのテキストボックスの、[コントロールソース]プロパティに「担当者名」を指定します。 14:同じく[編集ロック]プロパティを「はい」にします。 15:必要であれば、[使用可能]プロパティを「いいえ」にします。伝票フォーム上では担当者名を変更するべきではありませんから。あくまでも担当者名欄は、表示用として考えてください。 下手に編集可能のままにしておくと、とんでもないことになります。 16:フォームを閉じ、保存します。 以上です。これで分かりますでしょうか? 不明点等あれば、補足してください。

imogasi
質問者

お礼

ご丁寧にご説明頂き有難うございました。 教えていただいた操作をしましたが、上手く行きません。 勝手ですが、何処に誤りがあるのか教えて頂けたら幸甚に存じます。 下記の操作をしました。 DDはドロッグアンドドロップ、Dクリックはダブルクリックの略。 (1)テーブル-新規作成-デザインビュー-OK-   フィールド名-担当者コード-担当者名-主キーを   担当者コードに設定   ×で閉じる-保存しますか-はい-「名前を..」   「T担当者」-OK   テーブル-T担当者をクリック-データを数件入力    -×で閉じる (2)テーブル-新規作成-デザインビュー-OK-   フィールド名-担当者コード-担当者名-以下項目略   -×で閉じる-保存しますか-はい-名前を「T売   上」-主キーを設定しません?-はい (3)フォーム-新規作成-デザインビュー-基になるク  エリ/テーブル-T担当者-OK (4)(メニューバー)表示-プロパーティ-データ-    レコードソース-「・・・」をクリック-起動さ    れ..作成しますか-はい-(クエリビルダの画面   になる)      (5)メニューバーの「クエリ」-テーブルの表示-T売   上-追加-×で閉じる (6)(リレーションを張るため)T売上・担当者コード   からT担当者・担当者コードにDD (7)リレーションの線上をDクリック-「結合のプロパ   ーティ」-2」をクリック-OK (8)T売上・担当者コードをクリック-担当者名をクイb   ック-フィールドが追加される (9)クエリービルダーを×で閉じる。-×で閉じる-変   更を保存-はい (10)プロパーティを×で閉じる。 (11)新しくフォーム上に担当者コード、担当者名のテ  キストボックスをツールボックスよりDD   名前を担当者コード、担当者名とする。 (12)担当者名のテキストボックスを右クリック-プロ  パティをクリック (13)コントロールソースの▼をクリック-担当者名を  指定-×で閉じる (14)フォームを×で閉じる-変更を保存しますか-は  い (15)フォーム名をF売上と入力-OK (16)フォーム-F売上-担当者フィールドに「1」を  入力-担当者フィールドに名前が出ない。

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

あ、担当者コード入力後に[商品名]にフォーカスを移動したいとのことですが、コンボボックスの[タブストップ]プロパティを「いいえ」にしておくといいです。 その後で、[表示]-[タブオーダー]を使って、 担当者コード - 担当者名(コンボボックス) - 商品名 の順に並び替えます。

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

コンボボックスを使います。 コンボボックスをフォーム上に作成して、[コントロールソース]を「担当者コード」にします。 で、[値集合タイプが]「テーブル/クエリ」で、[値集合ソース]が SELECT 担当者コード , 担当者名 FROM 担当者テーブル; です。(上記を記入後、[値集合ソース]の右側の[…]ボタンをクリックしてみてください。クエリの編集画面になりますので…) で、[列数]が「2」で、[連結列]が「1」,[列幅]が「0cm, 3cm」としてください。 以上で完成です。デザインモードを終了し、担当者コードを入力すると、担当者名が自動で出てくるはずです。 不明点とかありましたら、補足欄にお書きください。

imogasi
質問者

お礼

早速ご回答を頂き有難うございました。 ご回答の通りしようとしたのですが、上手く行きません。 それとコンボボックスでドロップダウンリストから選ぶとか、ルックアップウイザードを使うのではなく、「テキストボックスに、担当者名を出す」のは出来ないでしょうか。 実は担当者は、通常例ではそんなに多くなく、リストから 選ぶのも良いと思いますが、その先の商品コードと商品名 の対応の数は大変多く、リストから選べそうにないのです。わがままを申し上げて済みませんが、ご回答の方法についても、もう少し初心者向けに、細かくお願いできたら有りがたいです。

関連するQ&A