Microsoft Access Club Access超初心者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトル更新クエリの条件文
記事No83056
投稿日: 2016/12/13(Tue) 15:30
投稿者みん
OS:Windows7
Access Version:Access10

下記のようなレコードが入力されているテーブルがあります。
種別の1は新規申込、3は訂正を表すコードです。


1行目、新規申込で発送荷物を預かったが、アメリカへの発送料5000円を頂いた。
2行目、受付後、カナダへの発送に変更になったため、訂正をして差額の500円を頂き、訂正伝票をきった。

このような流れで、伝票を修正で対応しています。
証券番号が同じで、種別3は入ってる案件については、訂正前の発送先であるアメリカを
訂正後のカナダに更新をし、グループ化をして合計金額の5500円として請求書を発行したいのですが、
更新クエリを行う場合の条件の指定がわかりません。

どのように更新クエリに記述すればいいのでしょうか。
宜しくお願い致します。



ID 証券NO 種別 発送先 送料
1 1000-11 1 アメリカ 5000
2 1000-11 3 カナダ 500

タイトル集計クエリで
記事No83057
投稿日: 2016/12/14(Wed) 21:58
投稿者mayu
こんばんは。

> 証券番号が同じで、種別3は入ってる案件については、
> 訂正前の発送先であるアメリカを
> 訂正後のカナダに更新をし、
> グループ化をして合計金額の5500円として請求書を発行


--------------------------------------------
 ID   証券NO  種別  発送先   送料
--------------------------------------------
 1  1000-11   1  アメリカ  5,000
 2  1000-11   3   カナダ   500


というテーブルデータから


-------------------------------
 証券NO   発送先   送料
-------------------------------
 1000-11   カナダ   5,500


の表示にしたい
ということでよろしいでしょうか。

でしたら、
更新クエリを投げるのではなく、集計クエリを作ってみて下さい。

■ SQL
---------------------------------------------------------------------

SELECT x.証券NO
     , y.発送先
     , x.total As 送料
FROM
(
    SELECT 証券NO
         , Max( CLng( IIf( LenB( Nz( 発送先 ) ), ID, 0 ) ) ) As xid
         , Sum( 送料 ) As total
    FROM テーブル名
    GROUP BY 証券NO
) x
INNER JOIN テーブル名 y
        ON x.証券NO = y.証券NO
       AND x.xid    = y.ID
ORDER BY x.証券NO ;

---------------------------------------------------------------------

IDフィールドが オートナンバー型だとしたら
結局のところ
より番号の高いレコードに記載されている発送先を
優先表示してあげればいいと思います。

種別フィールドに入力されている値は
1 と 3 以外にも 何種類かあるのでしょうけど
訂正を表現するコードが
新規申込を表すコードよりも先に入力されることは
まず無いでしょうから。

 では ☆

タイトルRe: 集計クエリで
記事No83058
投稿日: 2016/12/15(Thu) 09:43
投稿者みん
mayuさま

おはようございます。

教えていただいた方法で処理ができました!!
ありがとうございました。

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る