ACCESSでこんなことができないか調べています
テーブルA・・・顧客ナンバー、顧客名、顧客情報、出欠欄
テーブルB・・・X日に会議に出席した人の顧客ナンバー、顧客名
テーブルAに1万件の全顧客データ、Bに500件のX日の出席者のみのデータがあったとして、テーブルAの出席欄にBの500件分について○をつけるということは可能でしょうか?そして、また次に会議があったら、XX日会議出席者に○をつけるというようにして、テーブルAに情報を追加して行く形で全部の情報をテーブルAのデータベースで管理したいのです。
私の技量ではテーブルAとBをクエリを使って出席した人の顧客情報をくっつけるぐらいが精一杯なのですが、テーブルAとBをクエリでくっつけて、それからAから重複を削除して、くっつけたデータを追加してうんぬん、とむにゃむにゃいじればなんかぐちゃぐちゃになりながらもできそうな気もするのですが、よく判りません。
スマートなやり方があればぜひ教えてください。
No.3ベストアンサー
- 回答日時:
こんばんは。
質問の内容拝見しました。
テーブルAが顧客情報とすると、これが極端な話100万件でも
問題ないのですが、これはエクセルのイメージで言うところの
行数にあたりますよね?
で、出欠欄が会議毎増えていくとなると、列数が増えるということでしょうか?
この行数、というかフィールド数は制限値がありますので
この500フィールドという数は不可能と思うのですが。。
わかりやすいのは、回答1さんとにた形ですが
テーブルAはあくまで顧客情報とする。
テーブルBは例えば会議情報テーブルとする。 会議番号・会議名・日付・内容
テーブルC 出欠者データテーブルとする。 会議番号・顧客番号
入力の部
テーブルA・・顧客が増えた時だけ追加入力作業
テーブルB・・会議内容発生時入力
テーブルC・・入力フォーム作成 会議番号エリア・顧客番号(コンボボックスにしとくと便利)
ボタン作成し、クリック時追加クエリ実行
※追加クエリ事前作成しておく フォームの会議番号エリア、顧客番号エリアのデータをテーブルCに追加されるクエリ。
見るための部
テーブルBの会議番号とテーブルC の会議番号をリレーションで結ぶ(一対多)
テーブルAの顧客番号とテーブルC の顧客番号をリレーションで結ぶ(多対多)
クエリZZZ 作成 テーブルA.C使用。
テーブルCの会議番号・顧客番号とテーブルAの顧客名・顧客情報
テーブルBを基にフォームYYY作成。
このフォームにクエリZZZのサブフォームXXXを追加する。
フォームYYYの会議番号とサブフォームXXXの会議番号を親子関係にする。
これで会議毎にデータを選ぶとサブフォームに出席者一覧が表されます。
面倒そうですが、一度作ってしまえば入力は簡単と思いますが如何でしょうか?
詳しいご説明、ありがとうございました。
かなりスマートな感じで、使い勝手のいい感じになりそうですね。確かにこのほうが見栄えもいいし、あとあとの管理もしやすそうです。
とりあえず、求められている情報の精度としては、会議には各顧客は1回ずつしか出ない前提で、テーブルAの出欠の欄(列)に出たら丸をつけていき、次の会議があったらまた同じ列に丸を追加していくという、何日に出たかまではいれておかなくていいから、とりあえず手で一人ずつ入力するのは面倒なので一気に入れる方法はないかという感じなんですが。
そういうデータ管理を求められていること自体がなんとなくアナログちっくですか?
No.2
- 回答日時:
欲しいカラムがよく分かりませんが
出席者を抽出したいという事でしょうか
・重複排除(DISTINCT)
SELECT DISTINCT
・リレーション設定(where句で)
WHERE A.顧客ナンバー=B.顧客ナンバー
※ACCESSは使った事ありませんので的外れならごめんなさい
アドバイスをありがとうございます。
イメージ的には、出席者を抽出するのではなく、顧客リストに出席した人だけ○をつけたいんですが、1件ずつ検索して入力とかはしたくないので、出席者リストから入れる作業ができないかなぁと模索しております。
私も普段はACCESSなど使わないので、まったく判っておりませんが、なんか重複排除でできないかなぁとかは思いました。
ありがとうございました。
No.1
- 回答日時:
テーブルAとテーブルB、分かれた今の状態の方が良いと思いますが。
「Y日の会議」が出てきたらテーブルCにするとか管理は楽だと思います。
1)「クエリ」の「新規作成」で、テーブルAとテーブルBを「テーブルの追加」して「OK」。列をすべて下のグリッドにドラッグ&ドロップ。
2)テーブルAの「顧客コード」をテーブルBの「顧客コード」のドラッグ。
3)結ばれた「線」をダブルクリック。
4)3つ項目があるうちの「テーブルAのすべて・・・」を選択してOK
5)名前を付けて保存。
これでテーブルA(全行)で出欠表ができます。
X日参加者だけ知りたいなら、5)で作成したクエリを呼び、ふたつある「顧客コード」のうち、元がテーブルBの「条件」を[is not null]にする。
X日欠席者だけ知りたいなら、5)で作成したクエリを呼び、ふたつある「顧客コード」のうち、元がテーブルBの「条件」を[is null]にする。
それぞれクエリとして保存して使用してください。
早速のご回答ありがとうございます。
おっしゃるとおり、私自身はテーブルを分けておいて、必要なときにクエリを作った方が管理しやすいような気がするのですが、ACCESS自体をあまり使わない職場なので、みんなが使うためにはなんとなくEXCELっぽいデータベース管理にしてほしいようで。でも、1件ずつ手で入れるのは面倒なので、ACCESSでなんとかできないかと言われているのです。
教えていただいた方法を試してみたいと思います。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- その他(データベース) accessについて 2 2022/05/31 16:58
- Visual Basic(VBA) 複数ページあるPDFファイル内の文字列等の情報をキーにPDFをグループ分け分割したい。 2 2022/06/25 09:51
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Excel(エクセル) Excel 指定した固有番号で、複数の行を削除する方法は? 2 2022/03/30 15:18
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- 飲食店・レストラン ガラガラなのにカウンター席に座らせる理由ってなぜですか? カウンター席は6人座る事が出来て、1人も客 7 2023/03/24 17:50
- 会計ソフト・業務用ソフト 事業内容に適した、見積・請求書・顧客管理ソフト、システムを探しています。 2 2022/11/11 13:28
- Java リレーションエンティティクラスとは何ですか? 2 2023/02/10 00:02
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルに表示されているもの...
-
2つのテーブルに共通するレコ...
-
AccessVBAで任意の複数リンクテ...
-
access vbaにてテンポラリーテ...
-
Acccessで2つのテーブルから1...
-
最新日のデータのみ抽出するク...
-
Accessで表計算のMatch関数のよ...
-
accessについて(超初心者です)
-
Accessで使用しているリンクテ...
-
Accessのリンクされたテーブル...
-
ACCESS テーブルを見比...
-
ACCESSユニオンクエリから新テ...
-
AccessでのリンクテーブルとADO...
-
アクセスVBA現在開いている全て...
-
ACCESS テーブル同士の照合
-
ACCESS初心者 - 同一テーブルの...
-
accessのテーブルを閉じたとき...
-
アクセス2016 チェックボックス...
-
Access2003 異なるテーブルを...
-
access2000・・テーブルをデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
最新日のデータのみ抽出するク...
-
テーブルに表示されているもの...
-
Acccessで2つのテーブルから1...
-
Accessでリストの並び順を変更...
-
Accessのリンクされたテーブル...
-
ACCESSユニオンクエリから新テ...
-
access vbaにてテンポラリーテ...
-
ACCESS テーブルを見比...
-
Accessのテーブルで、リンク?...
-
ACCESSでテーブルをコピーしよ...
-
アクセス 部分一致の抽出
-
accessについて(超初心者です)
-
Microsoft Access 「Form」のボ...
-
クエリで同一テーブルの複数回...
-
access2000・・テーブルをデー...
-
アクセス2016 チェックボックス...
-
Accessで使用しているリンクテ...
-
アクセス2000でのリンク先...
-
accessのテーブルを閉じたとき...
おすすめ情報