しばらく考えていましたがどうしてもわかりません。
どなたかわかるかた教えていただけないでしょうか?
アクセス2000を使用中です。

注文番号、得意先番号、数量、値段、合計があります。

1 、 M 、 2個 、 100円 、200円
1 、 M 、 3個 、 200円 、600円
2 、 F 、 4個 、 300円 、1200円

のように、注文番号1つで複数の注文を受け取っている時に、同じ注文番号の合計の合計を出す(この場合は注文番号1が800円、注文番号2が1200円)にはどうすればいいのでしょうか?

A 回答 (3件)

ああーそんな馬鹿な、これが分からないならまずクエリーを勉強しましょうよ。


結果はどのようにお望みか知りませんが
「注文番号」でグループ化を行い後は「合計」を合計すればいいだけですよ。集計のボタン”Z”を押せばよし。

通常のクエリー(SQL)なら
SELECT 注文番号,SUM(合計)
FROM 受注
GROUP BY 注文番号;
て言うことでしょう

この回答への補足

回答ありがとうございました。

よく分かっていませんがなんとなくできました。
後半説明してもらった部分は全くわかっていませんが。。

もう一つ質問作ったのでもしよろしければ、また回答お願いいたします。

補足日時:2001/04/11 23:28
    • good
    • 0

一般的にこういう場合は、サブフォームを使うといいと思います。


メインのフォームを作り、その中にもう一つフォームを入れてあげるのです。

メインのテーブルの項目は注文番号、得意先番号、日付といった感じにし、
サブのテーブルの項目は注文番号、行番号、商品番号、数量という具合にします。
得意先マスタや商品マスタは別のテーブルに作っておきます。
実際に、商品番号や得意先番号だけでは不便なので、クエリーを作り表示させるようにするといいでしょう。
メインとサブの注文番号を関連付けし、メインのフォームの方に合計欄を設ければ注文番号事に合計は算出できますし、管理が楽になります。

サブフォームが入ったフォームはURLのようなイメージです。
作成方法が参考になりそうなURLはこちら↓です。
http://www.bunri-c.ac.jp/~ishikawa/db/form.html

ちょっと難しいですが、一度今のファイルのコピーをとって作成してみてはいかがでしょうか?

参考URL:http://homepage1.nifty.com/yoshihisa/access/acce …
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

もう一つ質問作ったのでもしよろしければ、また回答お願いいたします。

お礼日時:2001/04/11 23:33

集計クエリを使用します。


クエリを作成しデザインビューで、「集計」を表示させてください。

注文番号でグループして、値段を合計にします。

むずかしかったら、クエリを作成してSQLビューで以下を入力して実行してください。

SELECT 注文票.注文番号, Sum(注文票.数量) AS 数量の合計, Sum(注文票.値段) AS 値段の合計, Sum(注文票.合計) AS 合計の合計
FROM 注文票
GROUP BY 注文票.注文番号;

以上はテーブル名が注文票としています。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
よく分かっていませんがなんとなくできました。

もう一つ質問作ったのでもしよろしければ、また回答お願いいたします。

お礼日時:2001/04/11 23:32

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

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

QMS ACCESSで数量刻みごとの合計を出したい

アクセスでQuantityの刻みごとに合計を出したいのですが、クエリーの良い知恵が浮かびません。

現状のデータとしては
郵便番号
出荷指示番号
Quantity 

があり、これを郵便番号ごとに1トン以下の合計、2トン以下の合計、3トン以下の合計、が一行に表示されるというクエリーを作りたいのです。

自分でも考えてみたのですが、Quantityを並べ<1, betwen 1.1 and 2 とやると<1の条件に当てはまるものだけが抽出されるか、あるいは条件に当てはまるものなしとなってしまうのです。

なにか良い解決策がありましたらお教え下さい。

Aベストアンサー

>良い解決策がありましたらお教え下さい。
良いかはわかりませんが簡単にやるには1トン以下の合計、2トン以下の合計、3トン以下の合計の表示であれば3つのクエリを作りネストすれば出来ます。
郵便番号ごとの全ての合計、2トン以下の合計、3トン以下の合計のクエリを別々に作り郵便番号ごとにグループ化し合計を出しておきます。
郵便番号ごとの全ての合計のクエリに2トン以下の合計、3トン以下の合計のクエリをテーブル追加し郵便番号同士をドラッグし結合します。結合プロパティで全ての合計のクエリの全レコードと2トン以下の合計クエリの同じフィールドのレコードをだけを含める(LEFT JOIN)にします。
3トン以下の合計のクエリも同様に全ての合計のクエリの全レコードと同じフィールドのレコードをだけを含めるにします。
2トン以下の合計クエリと3トン以下の合計のクエリの合計のフィールドをクエリに追加し集計欄はグループ化でも合計でも同じ結果になると思います。
1トン以下の合計は新しいフィールドに
1トン以下合計:[全ての合計]-Nz([2トン以下の合計])-Nz([3トン以下の合計])
とすれば算出できます。
これが簡単だと思いますが。

SQLなら
クエリ名  合計フィールド名
2t以下合計.2t金額合計
3t以下合計.3t金額合計
とした場合。

SELECT [1t以下合計].郵便番号, Sum(nz([1t金額合計])-nz([2t金額合計])-nz([3t金額合計])) AS 1t以下合計, Sum([2t以下合計].[2t金額合計]) AS 2t金額合計の合計, Sum([3t以下合計].[3t金額合計]) AS 3t金額合計の合計
FROM (1t以下合計 LEFT JOIN 2t以下合計 ON [1t以下合計].郵便番号 = [2t以下合計].郵便番号) LEFT JOIN 3t以下合計 ON [1t以下合計].郵便番号 = [3t以下合計].郵便番号
GROUP BY [1t以下合計].郵便番号
ORDER BY [1t以下合計].郵便番号;
これで行けると思います。

>良い解決策がありましたらお教え下さい。
良いかはわかりませんが簡単にやるには1トン以下の合計、2トン以下の合計、3トン以下の合計の表示であれば3つのクエリを作りネストすれば出来ます。
郵便番号ごとの全ての合計、2トン以下の合計、3トン以下の合計のクエリを別々に作り郵便番号ごとにグループ化し合計を出しておきます。
郵便番号ごとの全ての合計のクエリに2トン以下の合計、3トン以下の合計のクエリをテーブル追加し郵便番号同士をドラッグし結合します。結合プロパティで全ての合計のクエリの全レ...続きを読む

Qマイクロソフトアクセス:テーブルで注文番号をオートナンバにして00001から始めたい。

こんにちは。お世話になっております。
皆さんのおかげで、あと少しで注文表も終わりです!

さて今回の質問は、注文番号を連番にして00001から始めたいのです。
オートナンバを使いましたが、00001が1になってしまいます。

*下記のURLを参考にしてやってみました。

http://www2.moug.net/app/bbs/message.php?cat=b_acopr&id=20041118-000007

ここのURLで
INSERT INTO テーブル名 (オートナンバーフィールド名) values (14000);
とありますが、私もこれに当てはめましたが、うまくいきません。
INSERT INTO ORDER TABLE (PO#) values (00001);

ORDER TABLE=テーブル名
PO#=オートナンバフィールド名

上記の何がおかしいのかもわかりません。
これ以外にも、やり方がありましたらご教授願います。
初歩的な質問ですが、よろしくお願い致します。

Aベストアンサー

そんなにややこしく考えなくっても・・・。
テーブルのデザインビューで注文番号のフィールドプロパティで「書式」があるので、そこに「00000」って入力すれば良いはずですよ。
お試しあれ。

Qクエリ-でデ-タを抽出したいのですが元デ-タに注文番号が重複している行

クエリ-でデ-タを抽出したいのですが元デ-タに注文番号が重複している行 が沢山あるので、重複している注文番号は1行だけ 抽出するには クエリ-の注文番号 の抽出条件にどのような 関数を使用すれば良いのですか?(ダブリ分は1行のみ抽出) 指導願います アクセス2003

Aベストアンサー

抽出するのが[注文番号]だけなら、

select distinct [注文番号] from 元デ-タ;


抽出するのが[注文番号]のほかにもあるなら、抽出・選択する列名も例示の上で
ダブりを取り除く条件を補足してください。

QACCESSでの得意先情報・納品書の作成

教えて下さい
ACCESSで得意先情報と納品書を作成しています

得意先情報は
得意先コード
得意先名
郵便番号
住所
TEL
FAX
担当者
の7項目です
ただ、担当者は1つの会社に7人程います
得意先は80社ぐらいです

このデータを元に納品書を作成します
この時に得意先コードを選ぶもしくは入力すると
得意先名が自動で入り、尚且つその会社の担当者の7人を
コンボで選べるようにするにはどうしたらいいですか?

超初心者です
よろしくお願いします

Aベストアンサー

> 得意先情報は

これは、テーブル名?テーブル名の前提で・・・
クエリに、

Qry_得意先情報

SELECT 得意先コード, 得意先名, 郵便番号, 住所, TEL, FAX
FROM 得意先情報
GROUP BY 得意先コード, 得意先名, 郵便番号, 住所, TEL, FAX;

と、

Qry_担当者

SELECT 得意先コード, 担当者
FROM 得意先情報
GROUP BY 得意先コード, 担当者;

を作成
上記の文章はSQL文と言うもので、クエリ作成でSQLビューで、文章を単純にコピー&ペーストで、貼り付けてください

で、納品書のテーブルの話が無いので・・・クエリ上での話はしませんが、納品書のテーブルの「得意先コード」と、Qry_得意先情報の「得意先コード」を接続して、フォーム上に、Qry_得意先情報の「得意先名」等を表示してくるのが一般です

ここで、違う方法で・・・

> この時に得意先コードを選ぶもしくは入力すると得意先名が自動で入り、

を、得意先名が表示する、テキストボックスのコントロールソースを
得意先コードが文字の場合
=DLookUp("得意先名","Qry_得意先情報","得意先コード = '" & [得意先コードのコントロール名(コンボボックス?)] & "'")
得意先コードが数値の場合
=DLookUp("得意先名","Qry_得意先情報","得意先コード = " & [得意先コードのコントロール名(コンボボックス?)] )
と、します

実現可能ですが、通常は、DLookUp関数ではなく、前述のようにクエリ側で処理します

> 尚且つその会社の担当者の7人をコンボで選べる

は、コンボボックスの「値集合ソース」を

SELECT 担当者
FROM Qry_担当者
WHERE 得意先コード = [Forms]![フォーム名]![得意先コードのコントロール名(コンボボックス?)]));

と、設定し、イベントの「フォーカス取得時」のVBAマクロに

Me.[担当者のコンボボックス名].Requery

と、設定すれば、実現可能です

> 超初心者です

と、書かれて、上記の説明で理解可能かは、判りかねますが・・・大体、こんな感じです

> 得意先情報は

これは、テーブル名?テーブル名の前提で・・・
クエリに、

Qry_得意先情報

SELECT 得意先コード, 得意先名, 郵便番号, 住所, TEL, FAX
FROM 得意先情報
GROUP BY 得意先コード, 得意先名, 郵便番号, 住所, TEL, FAX;

と、

Qry_担当者

SELECT 得意先コード, 担当者
FROM 得意先情報
GROUP BY 得意先コード, 担当者;

を作成
上記の文章はSQL文と言うもので、クエリ作成でSQLビューで、文章を単純にコピー&ペーストで、貼り付けてください

で、納品書のテーブ...続きを読む

Q旧番号から新番号の求め方

いつも御世話になります。
前回の質問の説明不足で別の方法で考えました。
失礼とは思いますが前回のはキャンルさせて下さい。

図を参照で

C2に 136 入力すれば
D2に  0040 と出したい。

よろしく御願いいたします。

Aベストアンサー

INDEX,MATCH関数を組み合わせて、

=INDEX(A:B,MATCH(C2,B:B,0),1)

検索値が空白、とか検索値がヒットしないときにエラーを出さないためには

=IF(COUNTIF(B:B,C2)=0,"",INDEX(A:B,MATCH(C2,B:B,0),1))
 
以上です。


このカテゴリの人気Q&Aランキング

おすすめ情報