ショボ短歌会

お世話になります。

下記のようなテーブルAがあります。
テーブルAを元にテーブルBを生成したいのですが、
どのようにVBAで作成すればよいかわかりません。
お手数ですが、テーブルAを元にテーブルBを
生成するコードを教えて頂けないでしょうか?
※タイムA、B、Cの小さい順で1,2,3と順番をつける
※テーブルBを生成する方法

何卒宜しくお願いします。

--------テーブルA--------------------
組|タイムA|タイムB|タイムC|
1|0.6  |0.9  | 0.5 |
2|0.2  |0.7  | 0.9 |
----------------------------
---------テーブルB-------------------
組|Aの順位|Bの順位|Cの順位|
1|2   |3   | 1 |
2|1   |2   | 3 |
----------------------------

A 回答 (2件)

SELECT



,1+IIF([タイムA]>[タイムB],1,0)+IIf([タイムA]>[タイムC],1,0) AS Aの順位
,1+IIf([タイムB]>[タイムA],1,0)+IIf([タイムB]>[タイムC],1,0) AS Bの順位
,1+IIf([タイムC]>[タイムA],1,0)+IIf([タイムC]>[タイムB],1,0) AS Cの順位
INTO テーブルB
FROM テーブルA;
イムA],1,0)+IIf([タイムC]>[タイムB],1,0) AS Cの順位
FROM テーブルA;

同一のタイムが複数ある時については何も書いていないので考慮していません。
    • good
    • 0
この回答へのお礼

ありがとうございます!!!
イメージ出来ました!!!!

お礼日時:2013/10/03 15:31

>テーブルAを元にテーブルBを!



無理だと思います。理由は、テーブルAの構造にあります。ほとんど、リレーショナルデータベースのそれではないように見受けます。そこんところが、最大の難点かと思います。

テーブル: A

id________主キー(レコードの発生順に並べる為にも必要)
組___ 1,2
タイム___ 0.6,0.2・・・・

とか、こんな感じですと普通のテーブル構造になります。もって、目的も容易に達成されると思います。その方法を予測すれば、クロス集計クエリという策かも知れません。

この回答への補足

ご返事ありがとうございます。

組を主キーとしておりますので、問題ないかと思います。
お手数ですが、
・タイムA、B、Cの小さい順で1,2,3と順番をつける
・テーブルBを生成する方法

宜しくお願い致します。

補足日時:2013/10/03 14:40
    • good
    • 0

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

関連するカテゴリからQ&Aを探す