Accessにて、
テーブルA(個人情報)
●個人コード
●名前
●住所
・
・
テーブルB(個人ごとの数量管理)
●個人コード
●数量
上記のようなテーブルがあるとします。
これは、1:1のリレーションシップにしたいのですが、
クエリAを作成して
●個人コード(テーブルB)
●名前(テーブルA)
●数量(テーブルB)
個人コードを入力すると、名前を参照するというふうに
したいのですが、1:1のリレーションシップだと個人コードの入力時に
参照はできないのでしょうか?
一旦閉じて、開くと参照していますが・・・。
良いご意見がありましたら、よろしくお願いします。
No.5
- 回答日時:
個人コードを入力するフォームがあると思うのですが、そのフォームのテキストボックスなどの値をクエリーの抽出条件にすればいいとおもいます。
1.デザインモードで個人コードの抽出条件のところで右クリックして
「ビルド」を選びます。
2.フォームのテキストボックスの値を選択します。
3.保存ボタンを押して閉じてください。
再びクエリを開いたら「[Forms]![フォーム1]![テキスト0]」などが追加されていると思います。
これは、フォーム1にあるテキスト0の値を抽出条件にするということです。
忘れずにテキスト0の書式でデータの型をテーブルの型とあわせておいてくださいね。
No.4
- 回答日時:
#2です。
つまりはEXCELで作成したデータをインポートしてテーブルAに反映したいという事でしょうか?
それであればテーブルAにやはり数量フィールドを追加してEXCELのデータをインポート後に
更新クエリーで一気に更新してしまえば入力の手間がなくなるのではないですか?
根本的な考え方がずれていたらすみません。
この回答への補足
何度もありがとうございます。
テーブルAに追加することも考えたのですが、
テーブルA
●個人コード
●氏名
・
・
のように複数のフィールドがあります。
Excelでは、
●個人コード
●数量
の2つのフィールドのみです。
テーブルAには、約7000件。
Excelのデータは、テーブルAの件数すべての数量があるというわけではなく、
1000件弱程度です。
そのため、Excelのデータを別のテーブルにインポートし、
1:1のリレーションにしようと思いました。
更新クエリではできないかと思ったのですが、いかがでしょうか?
No.3
- 回答日時:
テーブルAとテーブルBの個人コードが一意で等価ということですね。
テーブルA(個人情報)
●個人コード [00001]
●名前 [yastak]
●住所 [Japan]
・
・
テーブルB(個人ごとの数量管理)
●個人コード [00001]
●数量 [100]
select B!個人コード,A!名前,B!数量
from テーブルA as A inner join テーブルB as B
on A!個人コード!=B!個人コード where B!個人コード="00001";
・selectの後のB!個人コード,A!名前,B!数量は
抽出フィールド名です
・inner joinの後は等価結合するテーブル名、ONの後は
結合するフィールドを書いています
・where の後は抽出条件を書いています。入力した値を抽出条件にすれば任意のデータを取り出すことが出来ます。
データがある場合は、
where句に"00001"を設定すれば
00001,yastak,100の答えが帰ってきますよ。
この回答への補足
何度もありがとうございます。
テーブルAは、数千件のデータがあり、テーブルBは、千件程度のデータがあります。
クエリにて、個人データの入力をするのも、1件ではないので、
固定の個人コードを設定することはできません。
入力した個人コードに対して、その都度テーブルAより
名前を表示させるようにしたいのですが。
No.2
- 回答日時:
まず、一対一なら何故テーブルAのフィールドに取り込まないのか?の疑問はあるものの・・・。
テーブルBの個人コードにコードを入力した時に、該当するコードがテーブルAにある場合
テーブルAに登録されている名前を参照したいという事でよろしいですよね?
入力後すぐに参照値を反映したいというのであれば、再クエリーが必要です。
手動で行う場合は、シフト+F9です。
クエリーから直接入力をするのであれば、手動のこの方法で再クエリーを実行するしかありません。
しかし、このクエリーをレコードソースとしたフォームから入力するのであれば、
個人コードの更新後処理でDoCmd.Requeryを実行すれば個人コードから移動する瞬間に
自動的に再クエリーされて名前を表示する事が出来ます。
でも、一般的にこういった一対一は使わないですよ?
ありがとうございました。
フォームにて使いたいと思います。
通常は、このようなテーブルAの中にすべて入れるべきなのでしょうが、
あるシステムで、テーブルA(個人のデータが入っているマスタ)があり
この、個人コードを利用して、Excelにて個人ごとのデータを入力したリストがあります。
テーブルAに、フィールドを追加し、手入力するには件数が多いので
この様にしてしまいましたが、
テーブルの作り方で、他に良い方法がありましたら、お願いいたします。
No.1
- 回答日時:
クエリーの作り方で抽出がおかしくなっていませんか?
SQLのモードに変更して(画面の一番左上です)
select B!個人コード,A!名前,B!数量
from テーブルA as A inner join テーブルB as B
on A!個人コード!=B!個人コード where B!個人コード="XXXXXXXXX";
テーブルBの個人コードをWhere句に入力するように組んでやれば動くと思うのですが?(動かなかったらヘルプでデバッグしてね^^;)
それから個人コードと名前が1:1になるようにしたいなら、データの重複には十分注意してください。プライマリーキー設定をして一意にしておかなければ一つの個人コードで複数の名前がヒットしたりしますよ。
(Nullももちろんだめです。)
この回答への補足
早速、ありがとうございます。
個人コードと名前が1:1という部分がよく分からないのですが・・・。
テーブルAとテーブルBの個人コードが1:1になるようにしていて、
クエリを作成したときに、個人コードを入力(テーブルB)すると、
テーブルAより名前を参照させるようにしたいのですが、
質問の仕方が悪かったでしょうか・・・。
Where句で書いていただいている"xxxxxx"の部分もなにを書いたらいいのかよくわからないので
補足をよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
重複するキーから一番古い年月...
-
ACCESS 一つのフィールドに複...
-
請求と入金のテーブルの作成の...
-
SQL 2つのテーブルとSUBSTRING...
-
2つのテーブルから条件に一致...
-
データの更新について
-
accessで移動平均する方法
-
続.ORACLEのSELECTのソートに...
-
GROUP BY句について
-
PLSQLの識別子エラー
-
遅延制約について
-
表と表の結合について
-
SQLの高速化
-
VIEWでテーブルの集計結果...
-
集計方法について
-
ACCESS 一番最新の日付の金額...
-
ACCESS2007 フォーム 「バリア...
-
sqlserverで集計結果をUPDATEし...
-
Accessにインポートしたら並び...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
重複するキーから一番古い年月...
-
2つのテーブルから条件に一致...
-
ACCESS 一つのフィールドに複...
-
行方向のデータを横に並べる
-
SQL 2つのテーブルとSUBSTRING...
-
PLSQLの識別子エラー
-
Accessでフィールドを比較した...
-
主キーの変更
-
Accessユニオンクエリーで2つ...
-
請求と入金のテーブルの作成の...
-
続.ORACLEのSELECTのソートに...
-
Inner join と Left joinの明...
-
片方だけ抽出する方法(SQL)
-
複数テーブルの不一致クエリに...
-
SQL文について(片方のテーブル...
-
自分自身への矢印
-
OracleのUnion内でそれぞれのOr...
-
VIEWでテーブルの集計結果...
-
【Access】順位を付けたい
おすすめ情報