お世話になります。
現在、VB.NET2008上でアクティブレポートを使って帳票作成をしています。
仕事の都合上、アクティブレポートやSQLはぶっつけ本番状態で学んでいるのでかなりの初心者なのですが、ネット上で探しても探し方が悪かったのか、同じような記事を見つけられなかったので、質問させていただきます。
やりたい事は、コードだけが入っているテーブルと、そのコードとコードに対する名前が入っているテーブルを関連付けて、帳票に名前を載せるということなのですが、今、困っているのは、同じテーブルから、区分が違うデータを取りだすという事です。
説明がうまく出来ませんが・・・
テーブル1
----------------------
|区分|コード|名前 |
----------------------
|01 |001 |A会社|
|01 |002 |B会社|
|01 |003 |C会社|
|02 |01 |商品A|
|02 |02 |商品B|
|02 |03 |商品C|
----------------------
ここから、「B会社」の「商品C」を帳票に出そうとしています。
今までは1つのテーブルから1つの情報だけ取り出していたので
SELECT * FROM テーブル1 WHERE 区分='01' AND コード='指定のコード'
と言ったような書き方でやっていて、アクティブレポートのデータフィールド部分には「名前」と列名を設定させてきました。
今回このような場合、どういう風にSQLを書けばいいのか、アクティブレポートでどう設定すればいいのかまったく分からないので、ご指導をお願いしたいと思っています。
No.1ベストアンサー
- 回答日時:
こんにちは
いまひとつ内容が理解できません
コードだけが入っているテーブル
(本当にコードだけのテーブルなんですか意味が?)
そのコードとコードに対する名前が入っているテーブル
(これがテーブル1と同じなんでしょうか'区分'もありますね)
テーブル1の商品CはなんでB会社のと判るんですか?
焦っておられるようですが
もう少し話を整理していただけると
もしかすると自己解決してしまうかもしれませんよ
この回答への補足
回答ありがとうございます。
落ち着いて見返してみると・・・本当に分かりにくいですね申し訳ありません。
>コードだけが入っているテーブルについて。
まずこの帳票では、登録された情報を表示するという作業をしており、その登録する時に、別のテーブルからコードを取ってきています(例えば、商品テーブルから商品コードを引っ張ってくるといった感じです)
登録時には、そのコードしかテーブルに保存しないので、コードだけが入っているテーブルが出来ます。
>そのコードとコードに対する名前が入っているテーブル
例えで説明させていただきますと、プレゼント用の包装で使うものを顧客ごとに帳票一覧で出すのが目的です。
表示させたいのは「顧客の名前」「包装紙」「箱」「リボン」の四つです。
普通は帳票一覧で出すテーブル(以下:帳票テーブル)の「顧客のコード」と「顧客の名前を出すテーブル(以下:顧客テーブル)」の「顧客コード」をLEFT JOINで関連付ければ、帳票のオブジェクトのデータフィールドに「顧客名」の入っている列名を設定すれば、出力時に名前が出てきていました。
しかし「包装紙」「箱」「リボン」は種類が少ない為に、1つのテーブルにまとめて入っています(以下:包装テーブル)。番号が同じでも区別が付くように「区分」という列名をつけてあります。
これもLEFT JOINで関連付けて・・・と思っていたのですが、同じテーブルから区分を指定して、コードを関連付けるのをどうすればいいか。と分からなくなっています。
↓帳票テーブル(番号は帳票番号)↓
------------------------------------
|番号|顧 客|包装紙|箱|リボン|
------------------------------------
|01 |001 | 01|02| 03|
|02 |002 | 03|01| 02|
|03 |003 | 01|03| 01|
------------------------------------
↓顧客テーブル↓
------------------
|コード|顧客名|
------------------
|001 | 田中|
|002 | 佐藤|
|003 | 大田|
------------------
↓包装テーブル↓
---------------------------
|区分|コード|包 装|
---------------------------
|01 |001 |無地 |
|01 |002 |チェック |
|01 |003 |ストライプ|
|02 |001 |丸 |
|02 |002 |三角 |
|02 |003 |四角 |
|03 |001 |赤 |
|03 |002 |青 |
|03 |003 |黄 |
---------------------------
なので「テーブル1の商品CはB会社のと判る」というか、帳票出力するためのテーブルに「B会社」と「商品C」のコードを登録したので、その名前を出したいのです。
テーブルを1つしか説明していなくて申し訳ありませんでした。
この説明で補足出来たでしょうか?
ちなみに、まだ分からなくて唸っています。
もし、解決法に心当たりがございましたらご教授よろしくお願いします。
先ほど、解決法を見つけました!
SQL文で解決しました。「AS」を使って名前を新たに定義すると言うものを知らなかったんですが、これで解決しました。
SELECT *,
紙.包装 AS 紙_包装,
入れ物.包装 AS 入れ物_箱,
飾りリボン.包装 AS 装飾品
帳票テーブル
LEFT JOIN 顧客テーブル
ON 帳票テーブル.顧客 = 顧客テーブル.コード
LEFT JOIN 包装テーブル AS 紙
ON 帳票テーブル.包装紙 = 紙.コード
AND 紙.区分 = '01'
LEFT JOIN 包装テーブル AS 入れ物
ON 帳票テーブル.箱 = 入れ物.コード
AND 入れ物.区分 = '02'
LEFT JOIN 包装テーブル AS 飾りリボン
ON 帳票テーブル.リボン = 飾りリボン.コード
AND 飾りリボン.区分 '03'
として、帳票で名前を表示するデータフィールドに
「紙_包装」や「装飾品」と設定すると、名前が表示されるようになりました。
おさがわせして申し訳ありませんでした。
でも、冷静になるようアドバイスをありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム 帳票出力を行う単体テストのテストデータが作成できません 2 2023/08/26 21:26
- IT・エンジニアリング 帳票出力を行う単体テストのテストデータが作成できません 2 2023/08/26 21:25
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:16
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- IT・エンジニアリング ActiveReportのdetailをデータセットの自動バインドを使って帳票を出力しています。 1 2023/08/16 07:17
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBとアクセスでSQL文に変...
-
CSVファイルのエクスポートでソ...
-
手動または分散トランザクショ...
-
AccessからExcelへエクスポート...
-
アクティブレポートを使ってDB...
-
『列名 '担当者CD' があいま...
-
SQLを発行とは?クエリの作成と...
-
C# OleDbDataAdapter.Fillメソ...
-
.net 複数の主キーを設定する方法
-
ExcelVBAからAccessMDB内のテー...
-
HTMLのテーブルの行数が多くな...
-
ワークテーブルの作成について
-
アクセステーブル、リンクとロ...
-
ACCESS2010 実行時エラー 2766
-
他のMDBのテーブルに追加したい
-
boyswalker.com
-
DataGridViewで変更した値を反...
-
エクセルのテーブルを解除する...
-
Accessで別mdbのテーブルをコピー
-
VBA 変数名に変数を使用したい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBとアクセスでSQL文に変...
-
Accessで別mdbのテーブルをコピー
-
『列名 '担当者CD' があいま...
-
CSVファイルのエクスポートでソ...
-
AccessからExcelへエクスポート...
-
エクセルのテーブルを解除する...
-
手動または分散トランザクショ...
-
他のMDBのテーブルに追加したい
-
HTMLのテーブルの行数が多くな...
-
SQLを発行とは?クエリの作成と...
-
WORD VBA プログラム修正をお願...
-
ACCESS2010 実行時エラー 2766
-
Excel複数シートをaccessへ一括...
-
ACCESSのテーブル名をリストに...
-
アクセステーブル、リンクとロ...
-
.net 複数の主キーを設定する方法
-
MDBテーブルへの追加変更を教え...
-
Accessで宛名ラベルに同一宛先...
-
DataGridの中身をDataSetにテー...
-
COBOLのINVALID KEYが理解でき...
おすすめ情報