Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


224 / 2272 ツリー ←次へ | 前へ→

【12483】部品コード納品順位の付け方? Yamada 14/2/7(金) 10:50 質問[未読]
【12485】Re:部品コード納品順位の付け方? pirorin 14/2/13(木) 3:10 回答[未読]
【12486】Re:部品コード納品順位の付け方? Pirorin 14/2/13(木) 21:41 回答[未読]

【12483】部品コード納品順位の付け方?
質問  Yamada  - 14/2/7(金) 10:50 -

引用なし
パスワード
   Aテーブルに対して、以下の制御をするには、どうすればいいでしょうか?

実施方法をご伝授ください。

Aテーブル

部品コード   部品名   納品日   納品数量
A001      あ     20140201  1
A002      い     20140203  2
A001      あ     20140207  5
A002      い     20140206  4
A001      あ     20140203  6
A002      い     20140207  1



結果:各部品コードセットに納品日の重複は存在しない。
納品順位項目に順位(降順)を付与したい。
  
部品コード   部品名   納品日   納品数量  納品順位
A001      あ     20140207  5      1
A001      あ     20140203  6      2
A001      あ     20140201  1      3
A002      い     20140207  1      1
A002      い     20140206  4      2
A002      い     20140203  2      3



【12485】Re:部品コード納品順位の付け方?
回答  pirorin  - 14/2/13(木) 3:10 -

引用なし
パスワード
   納品日を数値型として、

順位:(SELECT COUNT(*) FROM テーブルA AS Temp WHERE テーブルA.部品コード=Temp.部品コード AND Temp.納品日>=テーブルA.納品日 GROUP BY Temp.部品コード)

または、

順位:DCount("*","テーブルA","部品コード = '" & [部品コード] & "' AND 納品日 >= " & [納品日] & "")

とし、

部品コードを昇順、納品日を降順。

【12486】Re:部品コード納品順位の付け方?
回答  Pirorin  - 14/2/13(木) 21:41 -

引用なし
パスワード
   何をするためのコードか書いていなかったので
補足をしておきます。

テーブルA(Aテーブルでしたね)をもとに
選択クエリを作成し、新しいフィールドに
順位のコードを埋め込みます。SQL文では、

SELECT DISTINCT テーブルA.部品コード, テーブルA.部品名, テーブルA.納品日, テーブルA.納品数量, (SELECT COUNT(*) FROM テーブルA AS Temp WHERE テーブルA.部品コード=Temp.部品コード AND Temp.納品日>=テーブルA.納品日 GROUP BY Temp.部品コード) AS 連番
FROM テーブルA
ORDER BY テーブルA.部品コード, テーブルA.納品日 DESC;

のようになります。DCountを使う場合は、

SELECT DISTINCT テーブルA.部品コード, テーブルA.部品名, テーブルA.納品日, テーブルA.納品数量, DCount("*","テーブルA","部品コード = '" & [部品コード] & "' AND 納品日 >= " & [納品日] & "") AS 連番
FROM テーブルA
ORDER BY テーブルA.部品名, テーブルA.納品日 DESC;

のようになります。

224 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078190
(SS)C-BOARD v3.8 is Free