Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Access 2003)
文字列の一部を利用して抽出するクエリ
投稿日時: 17/07/24 15:03:58
投稿者: ひっかくん

よろしくお願いします。
 
品名コード「AABBCC」というコードが登録してあるテーブルがあります。
 
それぞれ2ケタずつがAテーブル、Bテーブル、Cテーブルの個別コードと連結します。
 
いつも抽出する場合は、最初に品名コード「AABBCC」を「AA」「BB」「CC」とばらした
クエリを作成して、そのクエリを元にしてAテーブル、Bテーブル、Cテーブルを結合
させて抽出しています。
 
この作業をばらしたクエリを作成することなく、1つのクエリーで作業可能でしょうか。

回答
投稿日時: 17/07/24 15:42:24
投稿者: Suzu

引用:
ばらしたクエリを作成することなく、1つのクエリーで作業可能でしょうか。

 
クエリと言うか、テーブル自体の構造として
Aテーブル の接続キー、Bテーブル の接続キー、Cテーブル の接続キー
 
別々のフィールドとして持たせるべきでは?

投稿日時: 17/07/24 16:11:53
投稿者: ひっかくん

Suzuさん、回答ありがとうございます。
 
おっしゃる通りであることは承知していますが、実現可能かどうかを知りたく。
 
よろしくお願いします。

回答
投稿日時: 17/07/25 01:07:54
投稿者: hatena
投稿者のウェブサイトに移動

デザインビューでは無理ですが、SQLビューでなら可能です。
 
SELECT * FROM
((テーブル INNER JOIN Aテーブル ON Left(テーブル.品名コード,2)=Aテーブル.個別コード)
 INNER JOIN Bテーブル ON Mid(テーブル.品名コード,3,2)=Bテーブル.個別コード)
 INNER JOIN Cテーブル ON Mid(テーブル.品名コード,5)=Cテーブル.個別コード;
 

投稿日時: 17/07/25 08:21:35
投稿者: ひっかくん

hatenaさん、回答ありがとうございます。
 
うまくできました!
 
ありがとうございました。