Access VBA質問箱 IV

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

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


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

【8702】フィールド名をデータとして・・ あおぎん 06/10/19(木) 17:20 質問[未読]
【8703】Re:フィールド名をデータとして・・ あおぎん 06/10/19(木) 17:27 発言[未読]
【8705】Re:フィールド名をデータとして・・ まさ7251 06/10/19(木) 23:22 回答[未読]
【8713】Re:フィールド名をデータとして・・ あおぎん 06/10/20(金) 14:52 お礼[未読]

【8702】フィールド名をデータとして・・
質問  あおぎん  - 06/10/19(木) 17:20 -

引用なし
パスワード
   いつもお世話になっています。

以前トピック8071で

T_給付内容
SEQ    名前    項目    金額      日付
1    Aさん    学期1_A   \10,000    2006/04/01
2    Bさん    学期1_A   \8,000     2006/04/02
3    Cさん    学期1_A   \12,000    2006/04/01
4    Aさん    学期1_B   \10,000    2006/06/01
5    Bさん    学期1_B   \8,000     2006/06/01
6    Cさん    学期1_B   \12,000    2006/06/01
7    Aさん    学期2    \20,000    2006/09/01
8    Bさん    学期2    \16,000    2006/09/01
9    Cさん    学期2    \24,000    2006/09/04

というデータを 日付(ここでは2006/4/1)で抽出し

名前  学期1_A_金額 学期1_ B _金額 学期2_金額
Aさん   \10,000    \10,000    \20,000
Bさん    \8,000     \8,000    \16,000

のように表示するクエリについて教えていただいたのですが、
今回これと逆に

T_給付内容にある
名前     学期1   学期2   学期3  入学  通学
Aさん   \10,000  \10,000 \10,000 \20,000 \2,000
Bさん    \8,000   \8,000  \8,000 \16,000 \2,000

というデータを、T_給付実績に次のような形で追加したいのです。欲を言えばフォームで追加したいフィールドを選んで(ここでは学期1 入学 通学)追加クエリで実行できたらと思っているのですが・・。

T_給付実績
名前  項目  金額  
Aさん 学期1 \10,000 
Aさん 入学  \20,000 
Aさん 通学  \2,000 
Bさん 学期1 \8,000 
Bさん 入学  \16,000 
Bさん 通学  \2,000 

そもそもフィールド名を項目のデータとして入力できるかで行き詰まっています。
その方法が分かればあとはなんとか出来そうな気がするのですが・・。
ヒントでもかまいません。
よろしくお願いいたします。

【8703】Re:フィールド名をデータとして・・
発言  あおぎん  - 06/10/19(木) 17:27 -

引用なし
パスワード
   忘れてました。

環境はwin2000 ac2000です。

よろしくお願いします。

【8705】Re:フィールド名をデータとして・・
回答  まさ7251  - 06/10/19(木) 23:22 -

引用なし
パスワード
   >T_給付内容にある
>名前     学期1   学期2   学期3  入学  通学
>Aさん   \10,000  \10,000 \10,000 \20,000 \2,000
>Bさん    \8,000   \8,000  \8,000 \16,000 \2,000
>
>というデータを、T_給付実績に次のような形で追加したいのです。欲を言えばフォームで追加したいフィールドを選んで(ここでは学期1 入学 通学)追加クエリで実行できたらと思っているのですが・・。
>
>T_給付実績
>名前  項目  金額  
>Aさん 学期1 \10,000 
>Aさん 入学  \20,000 
>Aさん 通学  \2,000 
>Bさん 学期1 \8,000 
>Bさん 入学  \16,000 
>Bさん 通学  \2,000 

例えば、以下のようなUNIONクエリをつくり、
  SELECT 名前,"学期1",学期1 FROM T_給付内容
  UNION ALL
  SELECT 名前,"入学",入学 FROM T_給付内容
  UNION ALL
  SELECT 名前,"通学",通学 FROM T_給付内容
それを元に、T_給付実績への追加クエリを実行すればどうでしょうか。

”フォームで追加したいフィールドを選んで”ということなら、
上記のようなUNIONクエリからT_給与実績へ追加するクエリを
フォームで選択した条件から生成し、実行すれば出来ると思います。
VBA必須になりますので、ある程度の知識は必要かと思います。

【8713】Re:フィールド名をデータとして・・
お礼  あおぎん  - 06/10/20(金) 14:52 -

引用なし
パスワード
   ▼まさ7251 さん:
こんにちは。
お返事ありがとうございます。

>例えば、以下のようなUNIONクエリをつくり、
>  SELECT 名前,"学期1",学期1 FROM T_給付内容
>  UNION ALL
>  SELECT 名前,"入学",入学 FROM T_給付内容
>  UNION ALL
>  SELECT 名前,"通学",通学 FROM T_給付内容
>それを元に、T_給付実績への追加クエリを実行すればどうでしょうか。

ご提示の方法でできました。
ありがとうございました。


>”フォームで追加したいフィールドを選んで”ということなら、
>上記のようなUNIONクエリからT_給与実績へ追加するクエリを
>フォームで選択した条件から生成し、実行すれば出来ると思います。
>VBA必須になりますので、ある程度の知識は必要かと思います。

VBAの知識に乏しいので、
とりあえずフォームにオプションボタンを項目数ほど作って、
チェックが入ったら項目名を表示するテキストボックスを同様に作って
それを追加クエリの抽出条件にして実行してみたら
なんとか自分の思うようなデータが追加できました。

また勉強して、VBAで実行できるようにしたいと思います。

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

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