• 締切済み

Access2003 クエリ フィールドの比較

使用しているソフトはAccess2003になります。 テーブル1とテーブル2からデータ(フィールド)を表示してクエリを作成しました。 クエリのフィールド名は以下のようになります。 1、型式(テーブル1) 2、機番(テーブル1) 3、有効期限(テーブル1) 4、測定基準値(テーブル1) 5、機番(テーブル2) 6、紐づけ(テーブル2) ※ 使用者名が記載 テーブル1_機番とテーブル2_機番を比較して同じならば並び変える。 フィールドもしくは抽出条件にどのような式を記入すればよいでしょうか。 データベースソフトの扱いは初心者になります、宜しくお願いします。    

みんなの回答

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.7

フォームの実行画面を添付します  これはご質問の添付情報を登録したものです 左のテーブル1登録の左端のレコードセレクタの色が変わったところの  サブフォームの情報です  ここではC子が複数の機械、  一つの機械を複数人に関連付ける事も出来ます 「テーブル確認」のコマンドボタンがあります。  これをクリックすると「テーブル確認フォーム」が開きます  コマンドボタンの配置はフォームデザイン画面でデザインリボンの   コマンドボタンを希望の場所にドラッグから始めます   あとはガイドしてくれるので説明は省略します。 VBAはお嫌いとの事、ここ迄は一切使う必要がありません。  Excelのそれと違ってフレンドリーです。必要な時は使いましょう

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.6

サブフォームを持つフォームいかがでしたか テーブル1登録を少し修正します。 多分これがあなたのやりたいことのヒントになるでしょう 1.ナビゲーション内でテーブル1登録をコピペして名前をテーブル確認とする 2.テーブル確認フォームを右クリックからデザインビューで開く 3.サブフォーム部分をフォームフッタあら削除しフォームフッタの部分をなくす 4.プロパティ―シートのレコードソースの右端の…からクエリビルダを起動 5.テーブル1がある場所の空白部分右クリックてーぶる2とM担当者を選ぶ 6.添付のように、3つのテーブルのワイルドカード[*]をフィールドへドラッグ 7.並び替えと、抽出条件の項目をドラッグして並び替え方法と抽出条件を設定  これらの項目は「*」で選択済なので表示行の(チェックボックス チェック)を外す 8.クエリビルダを閉じる 9.デザインリボンの既存のフィールドの追加で担当者ID詳細にドラッグ

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.5

お早うございます。回答No.4の添付をご覧ください。 テーブル1の有効期限はテーブル2の項目ではないですか リレーションが1側のテーブル1にあると一つの機番には一つの有効期限しか使えません。 リレーションが∞側のテーブル2にあると一つの機番には複数の有効期限が可能です テーブル1登録とテーブル2登録は出来上がりましたか 担当者IDにはM担当者のルックアップを定義しましたが 機番IDにはルックアップではなく テーブル2登録をサブフォームとするテーブル1登録フォームにします。 1.テーブル1登録フォームにサブフォームを設定 1-1.テーブル1登録をデザインビューで開く 1-2.フォームフッタにテーブル2登録をドラッグ  サブフォーム云々の警告が表示されるが構わずOK 1-3.貼り付いたフォームを右クリックからプロパティーシートのデータタグで  リンク親フィールド、リンク子フィールドを確認  サブフォームのテーッブル2の標題は除去して情報表示部分を広げる 1-4.フォームフッタの空白をクリックしてテーブル1登録のプロパティ―シートの書式タッグの既定のビューを帳票に戻す

Japan20121012
質問者

補足

いろいろとご教示いただき有難う御座います。 お手数をお掛けするとは思いますが、順をおってやっていきたいと考えています。 ファイル名:テーブル登録の中に下記3つテーブルを作成 1、テーブル名:テーブル1  フィールド名:ID:オートナンバー(主軸キー)デザインビュー・インデックス:はい(重複なし) 機番:テキスト型 デザインビュー・インデックス:はい(重複なし)         型式:テキスト型         有効期限:日付/時間型         測定基準値:数値型 2、テーブル名:テーブル2  フィールド名:ID:オートナンバー(主軸キー)デザインビュー・インデックス:はい(重複なし) 機番ID:テキスト型 (例)480400J 担当者ID:テキスト型 (例)氏名 金太郎 デザインビュー・インデックス:                              はい(重複あり) 3、テーブル名:M担当者  フィールド名:ID:オートナンバー(主軸キー)デザインビュー・インデックス:はい(重複なし) 担当者名:テキスト型 (例)氏名 金太郎 ここまでで何か問題点はあるでしょうか。 宜しくお願い致します。        

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.4

的外れならゴメン テーブル1は機械の情報で  機番はユニーク(重複なし)な項目  型式と機番を2つのテーブル分けるのも意味があるかも テーブル2はその機械の担当の割り振りではないかと  一人の担当が日がわりで別の機械に関わる事もあると思いますが その為M担当者(担当者マスター)も必要かと 1.取り敢えずテーブル1、テーブル2、M担当で進めます ・テーブル1(ID,機番、型式、有効期限、測定基準値)      ※機番はテーブルのプロパティ―のインデックスの右端から重複なし ・テーブル2(ID,機番IDテーブル1のIDとリレーション、担当者ID  担当者のIDとリレーション) ・M担当者(担当者名、フリガナ:フリガナ機能活用))  ※担当者名ハはM担当者ノのプロパティ―のインデックスの右端から重複なし 2.リレーションシップ(関連付け)  データベースリボンからリレーションシップと進んで右クリック、リストされたテーブルを追加して  添付のようにドラッグで参照整合性に?を入れて1;∞のにする 3.テーブル2の担当者ルックアップ設定  テーブル2の担当者IDをクリック下のルックアップの一行目右端からコンポボックス  次の(値集合ソース)行の右端からM担当者をえらぶ  連結列1、列数=2(IDと担当者名)列幅=0 IDを表示しない 4.単独のテーブルからフォーム作成  テーブルを開く、作成リボン→その他のフォーム→複数のアイテム  これでフォームは出来上がりますがオートナンバー型のIDを除去、形を整えて終了

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.3

済みません、回答No.2は私の勘違いでした。 無視して下さい。 ---------------------------------------------------------------- 基本はあなたの考えでよろしいようですが 紐付(リレーション)の一方の対象項目がユニーク(重複なし)である ユニークの設定はテーブルのプロパティーで次のどちらかで設定します  1.主キーに設定🔑マーク  2.インデックスで重複なし 紐付けを設定されている使用者名は テーブル1、テーブル2のどちらかをユニーク設定できますか 紐付け出来るのはKkkkkm様の回答のように機番ではないでしょうか テーブル1の機番のプロパティーのインデックスで重複なしと定義して下さい   2.使用者毎の測定記録表を作成したい  今回は  1.M_使用者マスタ  2.テーブル1 製品マスタ  3.テーブル2 測定記録  添付図のクエリを参照ください  各テーブルのIDはオートナンバー型で??マークがあり主キー  このIDに紐付になっている使用者ID、テーブル1IDは長整数型  このクエリーに並び換え条件、抽出条件を追加

Japan20121012
質問者

補足

回答していただき有難う御座います。 ご教示いただいた手順を私なりに行ってみましたが うまくできませんでした。 現状を再度キャプチャした画像で説明したいのですが 補足コメント入力では画像は貼りつけられないようなので どのようにすればよいでしょうか。 新規に投稿するなど。

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.2

テーブル2は必要ないのでは テーブル1の抽出クエリでよろしいのでは ここからは勝手に推測させて頂きます。 1.テーブル1はExcelのSheetの丸写し  コピペまたはインポート  ExcelではSheetに全項目を配置するのが普通ですね  Accessは情報の内容により、複数のテーブルに分離します。  分離した複数のテーブルを関連付けて使用します。  この関連付けをリレーションシップと呼びます。   2.使用者毎の測定記録表を作成したい  今回は  1.M_使用者マスタ  2.テーブル1 製品マスタ  3.テーブル2 測定記録  添付図のクエリを参照ください  各テーブルのIDはオートナンバー型できー🔑マークがあり主キー  このIDに紐付になっている使用者ID、テーブル1IDは長整数型  このクエリーに並び換え条件、抽出条件を追加

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

クエリで機番(テーブル1) と機番(テーブル2)を結合したらいかがですか。

関連するQ&A