Access (VBA)

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

 
(Windows 10全般 : Access 2013)
見つけられないテーブル?
投稿日時: 20/07/01 16:58:15
投稿者: vaioyuki

いつもお世話になっております。
 
クエリの画面でテーブルにもクエリにもない「SUB」というものが表示されています。
隠しオブジェクトの表示にチェックを入れても出てきません。
 
現在は「kihon」「kaisha」「soshiki」の3つのテーブルしかありません。
この「SUB」というテーブル?クエリ?を確認する方法はありますか?
なぜにこの「SUB」が出来上がって動くのが疑問です。
 
(作成者は先月退社してAccessを触れるものは今は誰もいません)
 
 

SELECT SUB.[ユーザコード], SUB.[ユーザ名], SUB.主所属会社コード, SUB.主所属組織コード, SUB.組織名, SUB.主所属会社, SUB.会社コード, SUB.利用会社コード, SUB.[ロール名1], SUB.[ロール名2], SUB.[ロール名3], SUB.[ロール名4], SUB.[ロール名5], SUB.[ロール名6], SUB.[ロール名7], SUB.[ロール名8], SUB.[ロール名9], SUB.[ロール名10], SUB.[ロール名11], SUB.[ロール名12], SUB.[ロール名13], SUB.[ロール名14], SUB.[ロール名15], SUB.[ロール名16], Switch([品種マスタ確認者]='●','品種マスタ確認者',True,'') AS ロール名17, Switch([事業マスタ確認者]='●','事業マスタ確認者',True,'') AS ロール名18, Switch([品目マスタ追記承認者]='●','品目マスタ承認者',True,'') AS ロール名19, Switch([商流マスタ追記承認者]='●','商流マスタ承認者',True,'') AS ロール名20, Switch([容器承認ユーザ]='●','容器承認ユーザ',True,'') AS ロール名21
FROM (SELECT MAIN.[ユーザコード], MAIN.[ユーザ名], MAIN.主所属会社コード, MAIN.主所属組織コード, MAIN.組織名, MAIN.主所属会社, MAIN.会社コード, kaisha.会社_テナント AS 利用会社コード, Switch(     会計_WF_財務 = '●', '会計_WF_財務',     True,'' ) AS ロール名1, Switch(     外部IF科目計上権限 = '●' AND 利用会社コード <> '000207', '外部IF科目計上権限',     True,'' ) AS ロール名2, Switch(     決算仕訳作成権限/期間管理担当用1 = '●', '決算仕訳作成権限/期間管理担当用',     True,'' ) AS ロール名3, Switch(     遡及決算仕訳作成権限 = '●', '遡及決算仕訳作成権限',     True,'' ) AS ロール名4, Switch(     会計_WF_オンサイト = '●', '会計_WF_オンサイト',     True,'' ) AS ロール名5, Switch(     会計_WF_ケミカル企画・管理部 = '●', '会計_WF_ケミカル企画・管理部',     True,'' ) AS ロール名6, Switch(     会計_WF_札幌事業所 = '●', '会計_WF_札幌事業所',     True,'' ) AS ロール名7, Switch(     会計_WF_東京事業所 = '●', 'WF_東京事業所',     True,'' ) AS ロール名8, Switch(     会計_WF_ケミカル技術課鹿島 = '●', '会計_WF_ケミカル技術課鹿島',     True,'' ) AS ロール名9, Switch(     会計_WF_ケミカル技術課和歌山 = '●', '会計_WF_ケミカル技術課和歌山',     True,'' ) AS ロール名10, Switch(     販売_ワークフロー_契約マスタ承認者 = '●', '販売_ワークフロー_契約マスタ承認者',     True,'' ) AS ロール名11, Switch(     販売_ワークフロー_最終承認者 = '●', '販売_ワークフロー_最終承認者',     True,'' ) AS ロール名12, Switch(     販売_機能別_原価調整 = '●', '販売_機能別_原価調整',     True,'' ) AS ロール名13, Switch(     販売_機能別_締め = '●', '販売_機能別_締め',     True,'' ) AS ロール名14, Switch(     販売_全社管理_全社管理 = '●', '販売_全社管理_全社管理',     True,'' ) AS ロール名15, Switch(     販売_運用_管理者 = '●', '販売_運用_管理者',     True,'' ) AS ロール名16 FROM (SELECT kihon.[ユーザコード], kihon.[ユーザ名], kaisha.会社_テナント AS 主所属会社コード, soshiki.組織コード AS 主所属組織コード, soshiki.組織名, kaisha.主所属会社, soshiki.会社コード FROM (kaisha INNER JOIN kihon ON kihon.[ユーザコード]=kaisha.[ユーザコード]) INNER JOIN soshiki ON (soshiki.[ユーザコード]=kaisha.[ユーザコード]) AND (kaisha.会社_テナント = soshiki.会社コード) WHERE kaisha.主所属会社 = '主所属' AND soshiki.所属状況 = '2' AND soshiki.会社コード <> '000000')  AS MAIN INNER JOIN kaisha ON kaisha.[ユーザコード]=MAIN.[ユーザコード])  AS SUB LEFT JOIN kihon ON SUB.[ユーザコード] = kihon.[ユーザコード]
ORDER BY SUB.主所属会社コード, SUB.主所属組織コード, SUB.[ユーザコード], SUB.利用会社コード;

回答
投稿日時: 20/07/01 17:34:44
投稿者: sk

引用:
クエリの画面でテーブルにもクエリにもない「SUB」というものが表示されています。

引用:
FROM (SELECT MAIN.[ユーザコード],
             MAIN.[ユーザ名],
             MAIN.主所属会社コード,
             MAIN.主所属組織コード,
             MAIN.組織名,
             MAIN.主所属会社,
             MAIN.会社コード,
             kaisha.会社_テナント AS 利用会社コード,
             Switch(会計_WF_財務 = '●','会計_WF_財務',
                   True,'' ) AS ロール名1,
             Switch(外部IF科目計上権限 = '●' AND 利用会社コード <> '000207',
                    '外部IF科目計上権限',
                    True,'' ) AS ロール名2,
             Switch(決算仕訳作成権限/期間管理担当用1 = '●','決算仕訳作成権限/期間管理担当用',
                    True,'' ) AS ロール名3,
             Switch(遡及決算仕訳作成権限 = '●','遡及決算仕訳作成権限',
                    True,'' ) AS ロール名4,
             Switch(会計_WF_オンサイト = '●','会計_WF_オンサイト',
                    True,'' ) AS ロール名5,
             Switch(会計_WF_ケミカル企画・管理部 = '●','会計_WF_ケミカル企画・管理部',
                    True,'' ) AS ロール名6,
             Switch(会計_WF_札幌事業所 = '●','会計_WF_札幌事業所',
                    True,'' ) AS ロール名7,
             Switch(会計_WF_東京事業所 = '●','WF_東京事業所',
                    True,'' ) AS ロール名8,
             Switch(会計_WF_ケミカル技術課鹿島 = '●','会計_WF_ケミカル技術課鹿島',
                    True,'' ) AS ロール名9,
             Switch(会計_WF_ケミカル技術課和歌山 = '●','会計_WF_ケミカル技術課和歌山',
                    True,'' ) AS ロール名10,
             Switch(販売_ワークフロー_契約マスタ承認者 = '●','販売_ワークフロー_契約マスタ承認者',
                    True,'' ) AS ロール名11,
             Switch(販売_ワークフロー_最終承認者 = '●','販売_ワークフロー_最終承認者',
                    True,'' ) AS ロール名12,
             Switch(販売_機能別_原価調整 = '●','販売_機能別_原価調整',
                    True,'' ) AS ロール名13,
             Switch(販売_機能別_締め = '●','販売_機能別_締め',
                    True,'' ) AS ロール名14,
             Switch(販売_全社管理_全社管理 = '●','販売_全社管理_全社管理',
                    True,'' ) AS ロール名15,
             Switch(販売_運用_管理者 = '●','販売_運用_管理者',
                   True,'' ) AS ロール名16
      FROM (SELECT kihon.[ユーザコード],
                    kihon.[ユーザ名],
                    kaisha.会社_テナント AS 主所属会社コード,
                    soshiki.組織コード AS 主所属組織コード,
                    soshiki.組織名,
                    kaisha.主所属会社,
                    soshiki.会社コード
            FROM (kaisha
                  INNER JOIN kihon
                  ON kihon.[ユーザコード]=kaisha.[ユーザコード])
            INNER JOIN soshiki
             ON (soshiki.[ユーザコード]=kaisha.[ユーザコード])
            AND (kaisha.会社_テナント = soshiki.会社コード)
            WHERE kaisha.主所属会社 = '主所属' AND soshiki.所属状況 = '2'
              AND soshiki.会社コード <> '000000') AS MAIN
      INNER JOIN kaisha
      ON kaisha.[ユーザコード]=MAIN.[ユーザコード]) AS SUB
LEFT JOIN kihon
ON SUB.[ユーザコード] = kihon.[ユーザコード]

メインクエリの FROM 句において記述しているサブクエリに対して
[SUB]という別名(エイリアス)を付けているだけです。

投稿日時: 20/07/01 17:37:08
投稿者: vaioyuki

なるほど!!
仮で出来上がっているような感じなのですね。。。
勉強になりました。
 
ありがとうございました。(^−^)