• ベストアンサー

ACCESSでの得意先情報・納品書の作成

教えて下さい ACCESSで得意先情報と納品書を作成しています 得意先情報は 得意先コード 得意先名 郵便番号 住所 TEL FAX 担当者 の7項目です ただ、担当者は1つの会社に7人程います 得意先は80社ぐらいです このデータを元に納品書を作成します この時に得意先コードを選ぶもしくは入力すると 得意先名が自動で入り、尚且つその会社の担当者の7人を コンボで選べるようにするにはどうしたらいいですか? 超初心者です よろしくお願いします

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

  • ベストアンサー
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

> 得意先情報は これは、テーブル名?テーブル名の前提で・・・ クエリに、 Qry_得意先情報 SELECT 得意先コード, 得意先名, 郵便番号, 住所, TEL, FAX FROM 得意先情報 GROUP BY 得意先コード, 得意先名, 郵便番号, 住所, TEL, FAX; と、 Qry_担当者 SELECT 得意先コード, 担当者 FROM 得意先情報 GROUP BY 得意先コード, 担当者; を作成 上記の文章はSQL文と言うもので、クエリ作成でSQLビューで、文章を単純にコピー&ペーストで、貼り付けてください で、納品書のテーブルの話が無いので・・・クエリ上での話はしませんが、納品書のテーブルの「得意先コード」と、Qry_得意先情報の「得意先コード」を接続して、フォーム上に、Qry_得意先情報の「得意先名」等を表示してくるのが一般です ここで、違う方法で・・・ > この時に得意先コードを選ぶもしくは入力すると得意先名が自動で入り、 を、得意先名が表示する、テキストボックスのコントロールソースを 得意先コードが文字の場合 =DLookUp("得意先名","Qry_得意先情報","得意先コード = '" & [得意先コードのコントロール名(コンボボックス?)] & "'") 得意先コードが数値の場合 =DLookUp("得意先名","Qry_得意先情報","得意先コード = " & [得意先コードのコントロール名(コンボボックス?)] ) と、します 実現可能ですが、通常は、DLookUp関数ではなく、前述のようにクエリ側で処理します > 尚且つその会社の担当者の7人をコンボで選べる は、コンボボックスの「値集合ソース」を SELECT 担当者 FROM Qry_担当者 WHERE 得意先コード = [Forms]![フォーム名]![得意先コードのコントロール名(コンボボックス?)])); と、設定し、イベントの「フォーカス取得時」のVBAマクロに Me.[担当者のコンボボックス名].Requery と、設定すれば、実現可能です > 超初心者です と、書かれて、上記の説明で理解可能かは、判りかねますが・・・大体、こんな感じです

その他の回答 (1)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

このテーブルではだめですね >担当者は1つの会社に7人程います ということだと、担当者は別のテーブルに分けます [得意先情報](得意先コード、得意先名、郵便番号、住所、TEL、FAX) [担当者](得意先コード、担当者) 納品書テーブルが [納品書](納品書ID、年月日、得意先コード、担当者、・・・) というようなものだとして >得意先コードを選ぶもしくは入力すると >得意先名が自動で入り、尚且つその会社の担当者の7人を >コンボで選べるようにするには 納品書の担当者コンボのソースを担当者テーブルから作ったクエリにし 得意先コードの抽出条件欄に =Forms!納品書!得意先コード のように書きます これで得意先コードの更新後イベントで担当者コンボを再クエリしてやればいいです

関連するQ&A