Microsoft Access 掲示板

ユニオンクエリの横並びについて

4 コメント
views
4 フォロー

お世話になります。
ユニオンクエリを横並びデータにする方法を教えてください。

もともとのテーブルは横並びデータですが、条件により抽出したいのでユニオンクエリで
縦並びにしました。

テーブル:データ
社員番号 1234567
氏名   〇〇
判定内容1 正常外
判定1   B
判定内容2 〇〇異常
判定2   D



(※判定10まであります)

SELECT ID, 社員番号, 氏名, 判定内容1, 判定1 AS 判定 FROM データ
UNION ALL
SELECT ID, 社員番号, 氏名, 判定内容2, 判定2 AS 判定 FROM データ
UNION ALL SELECT ID, 社員番号, 氏名, 判定内容10, 判定10 AS 判定 FROM データ;

このユニオンクエリを判定DからFのものを抽出したいので
抽出条件 Between "D" And "F"
としおそらく正しくDからFが抽出されていると思われます。

この抽出条件を入れたユニオンクエリに連番をつけ横並びにしようと思いましたが
DからFだけの連番になりません。ほかのAやBも含めついた連番のDからFだけの番号となります。
このように入力しています。
連番: DCount("*","ユニオンクエリ名","社員番号='" & [社員番号] & "' and 判定内容1 <='" & [判定内容1] & "'")

DからFだけのデータで連番をつける方法はありますか?

そもそもやりたいことをやるために一度縦にしてまた横にしているので遠回りしている気もしているため
ほかに良い方法があれば教えていただけないでしょうか。

よろしくお願いします。

na
作成: 2020/06/24 (水) 19:47:28
通報 ...
1

この抽出条件を入れたユニオンクエリに連番をつけ横並びにしようと思いましたが

これだけでは、どのような形の横並びなのか分かりません。

できれば、元のデータ例をだして、それの出力結果を提示して説明てもらえると分かり安いとおもいます。

また、横並びする最終目的がレポート出力なら、レポート側で横並びにするほうがシンプルな場合もあります。
どちらにしても出力結果のレイアウトが分からないと回答は難しいです。

2

説明不足で申し訳ございません。

テーブル:データ
|社員番号|氏名|判定内容1|判定1|判定内容2|判定2|判定内容3|判定3|判定内容4|判定4|
|00001234|〇田| 正常外 | B | 〇〇異常| D | △△異常| E |やや異常値| A|
|00005678|〇木| ××異常| F | 〇〇異常| B | △△異常| C |やや異常値| A|

DからFのみ抽出し
|00001234|〇田|〇〇異常|D|△△異常|E|
|00005678|〇木|××異常|F|

というデータを作成
最終的には1人1ページのレポートにしたいと思っています。

1ページ目
氏名 00001234
〇〇異常 D
△△異常 E

2ページ目
氏名 00005678
××異常 F

※最大10項目です

ユニオンクエリを使わず、レポートでもシンプルにできるでしょうか・・・
良い方法があれば教えてください。
よろしくお願いします。

3
hatena 2020/06/24 (水) 22:36:31 修正 >> 2

最終的には1人1ページのレポートにしたいと思っています。

1ページ目
氏名 00001234
〇〇異常 D
△△異常 E

2ページ目
氏名 00005678
××異常 F

このレイアウトは縦並びですよね。このレイアウトでいいのですか。ならば、レポートの設定で簡単に実現できます。

ユニオンクエリの出力は、下記のようになっていると思いますので、

社員番号氏名判定内容判定
00001234〇田〇〇異常D
00001234〇田△△異常E
00005678〇木××異常F

このクエリをレポートのレコードソースにします。

社員番号でグループ化して、グループヘッダーを表示させて、そこに
社員番号 氏名 をテキストボックスとして配置します。

判定内容 と 判定 は詳細セクションに配置します。

グループヘッダーの「改ページ」プロパティを「カレントセクションの前」に設定します。
これで、ご希望のレイアウトになります。

グループ化の方法については下記を参考にしてくたさい。
レポートでのグループ化 - もう一度学ぶMS-Access

下記はレポートウィザードを使ってグループ化されたレポートを作成する方法です。

グループ化レポートまたはサマリー レポートを作成する - Access

4

思ったレポートができそうです。
ありがとうございました。

また躓いたときにはよろしくお願いします。