アクセス(Microsoft Access)で複数のデータから条件にあったデータを抽出する方法を知りたいです。

1:JANコード,原価
と並んだ20万件のテーブルと、

2:商品番号,JANコード,数量
(商品番号違いの同一JANコードがあり、JANコードなしの商品番号はありません。2のデータのJANコードはデータ1に必ずあります)
と並んだ40万件のテーブルがあります

2のデータに1のデータからJANコードを基準にして、原価をもってきて
3:商品番号,JANコード,数量,原価

のデータを作成したいのですが、どのような手順で行えばいいのでしょうか?

JANコードを軸にして1のデータから2のデータに当てはめていくのですが、
1のデータの「原価」は1点あたりの原価、
3のデータの「原価」は『1のデータの「原価」』×『2のデータの「数量」』の形にしたいと思っています。

アクセス初心者で説明が上手く出来ないのですが、この説明でわかった方いらっしゃいましたら、お願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

よくわかんないな。



SELECT T_ZAIKO.SHOHIN_NO, T_ZAIKO.JAN_CODE, T_GENKA.GENKA, T_ZAIKO.SURYO, [T_GENKA]![GENKA]*[T_ZAIKO]![SURYO] AS TOTALK
FROM T_GENKA RIGHT JOIN T_ZAIKO ON T_GENKA.JAN_CODE = T_ZAIKO.JAN_CODE;
として、原価、数量が表示されることを確認して、表示されているようだったら

VAL([T_GENKA]![GENKA])*VAL([T_ZAIKO]![SURYO])
みたいな事をやってみるかな?
    • good
    • 0

数量および価格のデータ型が数値であることを確認してください。

この回答への補足

ありがとうございます。
数値には共になっているのですが、実行するとTOTALKの列が全て空欄で表示されます。。申し訳ございません。

補足日時:2011/04/27 13:31
    • good
    • 0

こんなのは、アクセスの解説書に必ず載っている例題と同じ問題では。


あまりにも勉強や経験してない状態で、直ぐ他人に頼ってWEBに質問していると思う。
WEBで「アクセス テーブル 結合」でWEB照会(または解説書を読む)し読んで、2テーブルをけつごうするところまでやってみてください。出てくる記事数は膨大です。良さそうなのを数個印刷して、じっくり読んで例題でやって見ては。
結合はJANコード(バーコードでなく、数字コードと思うが)でおこなう。
持ってくる項目などを選ぶのは簡単(テーブルからD&D)
それから先で、やってみて判らない点を絞って質問すべきです。
>1のデータの「原価」は1点あたりの原価、
3のデータの「原価」は『1のデータの「原価」』×『2のデータの「数量」』の形にしたいと
がそんなに難しい計算か何か必要ですか。
>この説明でわかった方いらっしゃいましたら
余りに自分中心です。「判らなければ質問者が質問内容を補足します」、という態度で行かないと。

この回答への補足

imogasi様
ありがとうございます。
そして申し訳ございませんでした。時間がなく詳しく調べもせずに投稿してしまいました。
サイトを参考にし、結合線を引くところまでは行ったのですが、実行するとどうも結果が表示されませんでした。質問する際にそこに絞って質問すればよかったのですが、最初の段階から自分が行っていることが正しいかどうかわからなかったため、このような形になってしまいました。
文章の書き方についても今後気をつけます。

補足日時:2011/04/27 13:28
    • good
    • 0

画像がうまく添付できなかった。

「Accessでのデータ加工方法を教えてく」の回答画像2

この回答への補足

ShowMeHow様
本当にありがとうございます。もう1点質問お願いします。
クリエを作成し、教えていただいたSQLビューを入力し、添付いただいた画像と同じ画面にはなったのですが、実行をすると、TOTALKの列が空欄で表示されてしまいます。
どのような原因があるのでしょうか?csvデータをインポートしてテーブルを作ったのですが、その時でしょうか。何度も申し訳ございません。
よろしくお願いいたします。

補足日時:2011/04/27 11:32
    • good
    • 0

クエリを作成する。



SQLビューだとこんな感じ
SELECT T_ZAIKO.SHOHIN_NO, T_ZAIKO.JAN_CODE, [T_GENKA]![GENKA]*[T_ZAIKO]![SURYO] AS TOTALK
FROM T_GENKA RIGHT JOIN T_ZAIKO ON T_GENKA.JAN_CODE = T_ZAIKO.JAN_CODE;

ただし、商品が2のテーブルにいっぱいあるなら何らかの形で限定させたほうが良い。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q忘れがちなバックアップデータを教えてください。

忘れがちなバックアップデータを教えてください。

パーツ交換に伴い再インストールをすることになりそうです。OSはWindows7です。
Windows7ではバックアップ機能がありますが、バックアップをとってもWindows上からしか中身が見えなさそうなので、バックアップ忘れが怖いです。

あー、あのデータバックアップするの忘れてたー!となるのを防ぎたいので、みなさんがバックアップしているデータ、アプリケーションのバックアップデータを教えてください。


私は、
Firefox、ThunderbirdのデータをMozbackupでバックアップ
ランチャーの設定ファイル
Google日本語入力の辞書データ
GoogleChromeのお気に入り
C:\Users\ユーザー名 以下をそのままコピー
(このとき、いらないファイルとかってありますか?AppDataフォルダ以下にLocalなどのフォルダがありますが)

うーん、ちょっと少ない気がして不安です。

Aベストアンサー

C:\Users\ユーザー名\AppData\Local\
以下に
Microsoftフォルダ、Tempフォルダ、Googleフォルダなどありますが
これらは新規システムにも引越ししたほうがいいのでしょうか?
>>そんなに大きくないので、アックアップだけしとけばなんかのときに間に合うでしょう。
引越しですか? バックアップのはなしですよね。。

Tempフォルダなどは新規に持ってきてもゴミになるんじゃないかなとおもったりするのですが、
ここらへんは必要なものを自分の環境にあったものを自分でチョイスしてバックアップする形でいいのでしょうか?
>>あんまり細かくすると、自分でわからなくなりますんで。。おおまかに。。

QこのCSVを加工してからアクセスに取り込むべきか、アクセス上で加工できるか教えてください

あるショッピングカートで出力されるCSVが下記のようになっており、
発送作業に使うために加工が必要と思っております。

【元のCSV】
受注日時、商品番号1数量1サイズ1商品番号2数量2サイズ2・・・、金額
2010/3/28 8:50,<>2S000001:5:::,6500
2010/3/29 9:52,<>1S000004:1::S:<>1S000002:3::L:,13700
2010/3/30 16:25,<>1S000003:1:::<>1S000002:3::L:<>2S000001:1:::,27700

【加工後のCSV】
受注日時、金額、商品番号1、数量1、サイズ1、商品番号2、数量2、サイズ2、・・・
2010/3/28 8:50,6500,2S000001,5,
2010/3/29 9:52,13700,1S000004,1,S,1S000002,3,L
2010/3/30 16:25,27700,1S000003,1,,1S000002,3,L,2S000001,1,

元のCSVでは全ての商品番号、数量、サイズが1組のコンマの中に収められてしまっているのが問題なんです。
1レコードの商品数は、1回の買い物で何種類の商品を購入するか分からなく、
限度を決められないので、延々と増えてもいいように末尾に置くしかないかと。

本当は元のCSVをアクセスのテーブルにリンクさせ、クエリーで一発解決したいのですが、
無理であれば一旦CSVを正規表現で加工してから、アクセスに取り込もうかと思っています。

アクセス内で解決する方法か、CSV上で一次加工するアドバイスをお願いします。

あるショッピングカートで出力されるCSVが下記のようになっており、
発送作業に使うために加工が必要と思っております。

【元のCSV】
受注日時、商品番号1数量1サイズ1商品番号2数量2サイズ2・・・、金額
2010/3/28 8:50,<>2S000001:5:::,6500
2010/3/29 9:52,<>1S000004:1::S:<>1S000002:3::L:,13700
2010/3/30 16:25,<>1S000003:1:::<>1S000002:3::L:<>2S000001:1:::,27700

【加工後のCSV】
受注日時、金額、商品番号1、数量1、サイズ1、商品番号2、数量2、サイズ2、・・・
2010/3/28 8:50,6500,2S...続きを読む

Aベストアンサー

一旦CSVを正規表現で加工 でしょうね

情報量が多いようですが、これしかないと思います。

手作業になりますが エクセルを用いて 少しでも効率よく正規化する方法を提案します。
(もっとよい方法をお考えのこととは思いますが)
<> がデータの区切と思います。
1.<> を 元のデータにない 文字(例えば @)と置き換えます
ワード、メモ帳、ワードパット、テキストエディター のいずれでも 検索→置換え→全置換えで
2.このデータをテキスト形式で保存し、置き換えた文字を区切文字としてエクセルにインポートします。
データ→外部データの取込→テキストファイルのインポート と進みます
3.& を用いて新しいセルに セル同士を"," も入れて文字列連結します。
G1=$A1&","&,B1 H1=$A1&","&,C1 …
4.文字列連結したセル一つがアクセスの1レコード分となりますので、
新しいワークシートのA列にコピーアンドペーストします。
5.このA列全体をコピーして、新規のテキストファイルを開き貼り付けて 両端の "" を 除去します

一旦CSVを正規表現で加工 でしょうね

情報量が多いようですが、これしかないと思います。

手作業になりますが エクセルを用いて 少しでも効率よく正規化する方法を提案します。
(もっとよい方法をお考えのこととは思いますが)
<> がデータの区切と思います。
1.<> を 元のデータにない 文字(例えば @)と置き換えます
ワード、メモ帳、ワードパット、テキストエディター のいずれでも 検索→置換え→全置換えで
2.このデータをテキスト形式で保存し、置き換えた文字を区切文字としてエクセルにインポ...続きを読む

QPS3のデータのバックアップ

PS3のデータのバックアップ
PS3のデータのバックアップについて、バックアップしたデータは別のps3にコピーしてもユーザーとかトロフィーとか変わらないのでしょうか?
ゲームデータだけコピーして他のps3に移すと「他のユーザーのデータなのでトロフィーは取得できない」と書いていました。
バックアップなら途中のデータからでもトロフィーは残っていて、トロフィーを取得しつつゲームを進めることはできるんですか? 
教えてください。

Aベストアンサー

トロフィーデータはそもそもバックアップされません。
ネットに繋いでいるならPlaystation@Networkサーバーに同期する事がバックアップ代わりになります。

こちらに他の本体へリストアできる項目の一覧がありますので参考にどうぞ。
http://jp-playstation.custhelp.com/app/answers/detail/a_id/440/session/L3NpZC9hcmhaZ1Mzaw%3D%3D/p/1/c/7/r_id/100001/sno/0

QACCESS アクセスで他のデータベースからのデータインポート

アクセスど初心者です。
Aというデータベースファイルにあるテーブルaのデータを、Bというデータベスファイルにあるテーブルbに
インポートできますか?フィールド等詳細は両テーブルとも一緒だとします。
イメージ的には、テーブルbの最終レコードの後にテーブルaのデータがくっつくという感じです。
コピー&ペーストだとエラーになってしまうのですが・・・。宜しくお願いします。

Aベストアンサー

コピーで出来ます。
コピーし貼り付けで既存のテーブルにデータを追加でできます。
ただしテーブルbに主キーの設定がある場合重複する値があるNullの値があるなどエラーになります。
その辺の確認をしてください。
通常はBデータベースのテーブルにAデータベースのテーブルaをリンクしてクエリでテーブルbにレコードを追加するなどの方法でやります。

Qパソコンデータ(画像)のバックアップについて。

パソコンデータ(画像)のバックアップについて。


パソコンに保存してある画像をバックアップしたいと思うのですが、ちょっと困っている事があります。

主に、大事な画像はマイピクチャというフォルダに入っているのですが、マイピクチャは、マイドキュメントというフォルダにも入ってます(解りづらくてすみません・・・)

この場合、マイドキュメントのバックアップをとっておけば、マイピクチャのデータも一緒にバックアップされるのでしょうか?
それとも、個別にバックアップをとっておくものなのでしょうか?

これは画像だけじゃないのですが、沢山のデータをバックアップする場合でも、データ一つ一つを個別にバックアップしなきゃいけないものなのでしょうか?


バックアップはまだ詳しくなくて(><)
解りづらくてすみません・・・

他にもバックアップに関するアドバイスや注意がありましたら是非教えて下さい。

Aベストアンサー

マイドキュメントというフォルダにマイピクチャフォルダが入っているのなら、
マイドキュメントのバックアップをとっておけば、マイピクチャのデータも一緒にバックアップされます、

バックアップ先は何になりますか? 外付けハードディスク? Dドライブ?
できたら、外付けハードディスクなどに保存される事をお勧めします、
同じCドライブだと、バックアップになりません、

>沢山のデータをバックアップする場合でも…

他のドライブにバックアップするのであれば、まとめてドラッグすれば、
コピーバックアップされます

例としてバックアップする先を決めます(例としてCからDドライブへバックアップとします)
→Dドライブにバックアップフォルダを制作(D:バックアップフォルダ)開きます→
別にスタートからマイドキュメントを開き、ファイルの無い場所からドラッグしてファイル全体を反転します、
→反転したファイルをバックアップフォルダへドラッグします、
コピーバックアップされます

QMicrosoft ACCESSを使った売り上げ日報データの集計方法

売上実績データベースを作成しております。

異なる店舗でそれぞれ、エクセルを使って日報を書いているので、それらの日報をACCESSのテーブルに貼り付け、

(1)渋谷店の日報マスタ
   商品A 商品B 商品C  店舗
12/01 2000 3000  5000  渋谷
12/02 2500 2800  4500  渋谷
12/03 2200 2500  5000  渋谷

(2)新宿店の日報マスタ
   商品A 商品B 商品C  店舗
12/01 2500 3500  4000  新宿
12/02 2100 3300  4200  新宿
12/03 2000 2600  4100  新宿

(3)池袋店の日報マスタ
   商品A 商品B 商品C  店舗
12/01 1800 2200  3000  池袋
12/02 2100 2400  3100  池袋
12/03 1900 2800  2800  池袋
上記の3つのテーブルを作成致しました。
これらのテーブルをユニオンクエリで連結し、

(4)連結クエリ
   商品A 商品B 商品C  店舗
12/01 2000 3000  5000  渋谷
12/01 2500 3500  4000  新宿
12/01 1800 2200  3000  池袋
12/02 2500 2800  4500  渋谷
12/02 2100 3300  4200  新宿
12/02 2100 2400  3100  池袋
12/03 2200 2500  5000  渋谷
12/03 2000 2600  4100  新宿
12/03 1900 2800  2800  池袋

上記のクエリを作成致しました。
次に上記の連結テーブルを基にテーブル作成クエリを使い、

(5)日別合計テーブル
   商品A 商品B 商品C
12/01 6300 8700  12000
12/02 6700 9500  11800
12/03 6100 7900  11900

上記のテーブルを作成致しました。


さて、次のステップで、

   商品A 商品B 商品C  店舗
12/01 2000 3000  5000  渋谷
12/01 2500 3500  4000  新宿
12/01 1800 2200  3000  池袋
12/01 6300 8700  12000
12/02 2500 2800  4500  渋谷
12/02 2100 3300  4200  新宿
12/02 2100 2400  3100  池袋
12/02 6700 9500  11800
12/03 2200 2500  5000  渋谷
12/03 2000 2600  4100  新宿
12/03 1900 2800  2800  池袋
12/03 6100 7900  11900

上記のように、店舗ごとのレポートと日別合計を連結したテーブルを作成したいのですが、(5)のテーブルをユニオンクエリを使って連結することができません。何かよい手は無いでしょうか?
ご教示のほど宜しくお願いいたします!

売上実績データベースを作成しております。

異なる店舗でそれぞれ、エクセルを使って日報を書いているので、それらの日報をACCESSのテーブルに貼り付け、

(1)渋谷店の日報マスタ
   商品A 商品B 商品C  店舗
12/01 2000 3000  5000  渋谷
12/02 2500 2800  4500  渋谷
12/03 2200 2500  5000  渋谷

(2)新宿店の日報マスタ
   商品A 商品B 商品C  店舗
12/01 2500 3500  4000  新宿
12/02 2100 3300  4200  新宿
12/03 2000 2600  4100  新宿
...続きを読む

Aベストアンサー

>(5)のテーブルをユニオンクエリを使って連結することができません。
できますが・・・
フィールド数とデータ型を合わせてやればいいだけです
足りないフィールドはダミーを作ってやればいいのです

QDドライブのバックアップデータの削除

いつの間にかDドライブにデータを保存していたらいっぱいになってしまったので、
一部のデータを移動させたのですが、ほとんどバックアップのデータでいっぱいになってました。
バックアップデータの削除を削除したいのですが、中身の詳細を見る方法が分からないため大事なバックアップデータが入っていると思うと消す勇気がありません。

また、自動ににバックアップをとるのを止めさせたいです。(自分で設定した覚えがない)
よろしくお願いします。

Aベストアンサー

Windows7の自動バックアップで作成されたデータで
>自分で設定した覚えがない
ということでしたら、世代別の管理も不要でしょうから、古いバックアップを削除すればいいと思います。

●Windows7で古いバックアップのデータを消してハードディスクを軽くする | ぬふふ.com
http://nufufu.com/archives/1803

Qアクセス 複数データの変換

アクセス、またはエクセルで、テーブルのデータを、ほかのテーブルを参照にして、一括で変化する方法を教えてください。

具体的には、一つのテーブルに

a b c
a b d e f
b d f g h

となっているデータがあって、もう一つのテーブルに

a apple
b lemon
c orange

となっている場合に、最初のテーブルのデータをすべて、その対応する第二テーブルの内容に変換する方法です。

よろしくお願いします。

Aベストアンサー

こんにちは。

そうですか。フィールドが沢山あるんですか。私なら、あまりフィールドが多いようなら、一度Excelにエクスポートして、[置換]してから再びインポートます。

・変換したい文字の種類>フィールド数→クエリの多数作成
・変換したい文字の種類<フィールド数→Excelで[置換]

ですかね。Excel、AccessどちらでもVBAで処理を自動化する方法もありますが、一度だけの作業なら今からVBAを勉強するより、これぐらいは手作業でやった方が良いでしょう。毎日変換する必要があるなら、それはテーブル構造を考えた方が良いです。そもそも、Accessでそういうデータの関係のはおかしいということです。

Qntbackupでバックアップしたデータの消去

現在 Windows Server 2003を使用しています。
ntbackupを使って毎週データのバックアップをとっています。

今の状態だとデータがどんどん追加されていくだけなのですが、古い(1ヶ月前とか)のバックアップデータを消去することはできるのでしょうか?

また、今はタスクで自動的に毎週バックアップをとるようにしているのですが、例えば2週間分だけ残して古いデータは消去し、それから最新のデータをバックアップするようなことはできるのでしょうか?

Aベストアンサー

テープデバイスではなくて、ディスク上にバックアップを作成しているのですね。
まず、『データを追加する』ではなく、『データを置き換える』ようにバックアップジョブを作り直す必要があります。
Weeklyにバックアップを"WeeklyBackup"にとるとしたら、タスクを利用して、バックアップの直前に
WeeklyBackup0というファイルをWeeklyBackup1に、
WeeklyBackupをWeeklyBackup0に、
それぞれコピーをするバッチファイルを実行するようにスケジュールします。
つまりWeeklyBackup0が先週のバックアップ、WeeklyBackup1が先々週のバックアップになるわけです。

Qアクセスで作ったデータベースを複数人で使う。

アクセスで作ったデータベースがあります。
これの本体をサーバーに置き、複数で使うことは出来ないのですか?
そのままでも複数で使えると思っていたのですが、他の誰かが使用中だとアクセス出来ません。
ちなみにデータベースにはパスワードをかけています。(これがいけない?)

どうかよろしくおねがいします。

Aベストアンサー

Accessをそういう形で共有して同時利用はできません。
そういう使い方が必要であれば、サーバにデータベースを
インストールして、各クライアントのAccessからサーバの
データベースを検索するようなシステムを作成してください。

サーバへのインストールは、商用ならOracleやSQL Server等、
フリーならMySQLやPostgreSQLなどがあります。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング