- 締切済み
Access2003 クエリ フィールドの比較
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- chayamati
- ベストアンサー率41% (260/624)
フォームの実行画面を添付します これはご質問の添付情報を登録したものです 左のテーブル1登録の左端のレコードセレクタの色が変わったところの サブフォームの情報です ここではC子が複数の機械、 一つの機械を複数人に関連付ける事も出来ます 「テーブル確認」のコマンドボタンがあります。 これをクリックすると「テーブル確認フォーム」が開きます コマンドボタンの配置はフォームデザイン画面でデザインリボンの コマンドボタンを希望の場所にドラッグから始めます あとはガイドしてくれるので説明は省略します。 VBAはお嫌いとの事、ここ迄は一切使う必要がありません。 Excelのそれと違ってフレンドリーです。必要な時は使いましょう
- chayamati
- ベストアンサー率41% (260/624)
サブフォームを持つフォームいかがでしたか テーブル1登録を少し修正します。 多分これがあなたのやりたいことのヒントになるでしょう 1.ナビゲーション内でテーブル1登録をコピペして名前をテーブル確認とする 2.テーブル確認フォームを右クリックからデザインビューで開く 3.サブフォーム部分をフォームフッタあら削除しフォームフッタの部分をなくす 4.プロパティ―シートのレコードソースの右端の…からクエリビルダを起動 5.テーブル1がある場所の空白部分右クリックてーぶる2とM担当者を選ぶ 6.添付のように、3つのテーブルのワイルドカード[*]をフィールドへドラッグ 7.並び替えと、抽出条件の項目をドラッグして並び替え方法と抽出条件を設定 これらの項目は「*」で選択済なので表示行の(チェックボックス チェック)を外す 8.クエリビルダを閉じる 9.デザインリボンの既存のフィールドの追加で担当者ID詳細にドラッグ
- chayamati
- ベストアンサー率41% (260/624)
お早うございます。回答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登録のプロパティ―シートの書式タッグの既定のビューを帳票に戻す
- chayamati
- ベストアンサー率41% (260/624)
的外れならゴメン テーブル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.2は私の勘違いでした。 無視して下さい。 ---------------------------------------------------------------- 基本はあなたの考えでよろしいようですが 紐付(リレーション)の一方の対象項目がユニーク(重複なし)である ユニークの設定はテーブルのプロパティーで次のどちらかで設定します 1.主キーに設定🔑マーク 2.インデックスで重複なし 紐付けを設定されている使用者名は テーブル1、テーブル2のどちらかをユニーク設定できますか 紐付け出来るのはKkkkkm様の回答のように機番ではないでしょうか テーブル1の機番のプロパティーのインデックスで重複なしと定義して下さい 2.使用者毎の測定記録表を作成したい 今回は 1.M_使用者マスタ 2.テーブル1 製品マスタ 3.テーブル2 測定記録 添付図のクエリを参照ください 各テーブルのIDはオートナンバー型で??マークがあり主キー このIDに紐付になっている使用者ID、テーブル1IDは長整数型 このクエリーに並び換え条件、抽出条件を追加
補足
回答していただき有難う御座います。 ご教示いただいた手順を私なりに行ってみましたが うまくできませんでした。 現状を再度キャプチャした画像で説明したいのですが 補足コメント入力では画像は貼りつけられないようなので どのようにすればよいでしょうか。 新規に投稿するなど。
- chayamati
- ベストアンサー率41% (260/624)
テーブル2は必要ないのでは テーブル1の抽出クエリでよろしいのでは ここからは勝手に推測させて頂きます。 1.テーブル1はExcelのSheetの丸写し コピペまたはインポート ExcelではSheetに全項目を配置するのが普通ですね Accessは情報の内容により、複数のテーブルに分離します。 分離した複数のテーブルを関連付けて使用します。 この関連付けをリレーションシップと呼びます。 2.使用者毎の測定記録表を作成したい 今回は 1.M_使用者マスタ 2.テーブル1 製品マスタ 3.テーブル2 測定記録 添付図のクエリを参照ください 各テーブルのIDはオートナンバー型できー🔑マークがあり主キー このIDに紐付になっている使用者ID、テーブル1IDは長整数型 このクエリーに並び換え条件、抽出条件を追加
- kkkkkm
- ベストアンサー率66% (1719/2589)
クエリで機番(テーブル1) と機番(テーブル2)を結合したらいかがですか。
補足
いろいろとご教示いただき有難う御座います。 お手数をお掛けするとは思いますが、順をおってやっていきたいと考えています。 ファイル名:テーブル登録の中に下記3つテーブルを作成 1、テーブル名:テーブル1 フィールド名:ID:オートナンバー(主軸キー)デザインビュー・インデックス:はい(重複なし) 機番:テキスト型 デザインビュー・インデックス:はい(重複なし) 型式:テキスト型 有効期限:日付/時間型 測定基準値:数値型 2、テーブル名:テーブル2 フィールド名:ID:オートナンバー(主軸キー)デザインビュー・インデックス:はい(重複なし) 機番ID:テキスト型 (例)480400J 担当者ID:テキスト型 (例)氏名 金太郎 デザインビュー・インデックス: はい(重複あり) 3、テーブル名:M担当者 フィールド名:ID:オートナンバー(主軸キー)デザインビュー・インデックス:はい(重複なし) 担当者名:テキスト型 (例)氏名 金太郎 ここまでで何か問題点はあるでしょうか。 宜しくお願い致します。