Microsoft Access 掲示板

テーブルをテーブルから指定するSQL / 2

6 コメント
views
4 フォロー
2
mayu 2021/09/26 (日) 10:48:15 修正 ef559@34308

設計の問題点と解決手法は hatenaさんが完璧な回答をなさっているので、あくまで補足として。
  

  • フィールドの名前に記号や予約語が含まれる

  • TableNameフィールドに
     カレントデータベースに存在しないテーブル名が誤って記述されていた場合、
     DLookupを使った演算フィールドはエラーになる

  
という理由で、SQLは念入りに記述したほうがいいかもしれないですね。

SELECT x.TableName
     , x.[item#] As item
     , dlookup(
               "[qty]"
             , "[" & x.TableName & "]"
             , "[item#] = '" & x.[item#] & "'"
       ) As qty
FROM Search x
INNER JOIN MSysObjects y
        ON x.TableName = y.[Name]
WHERE y.[Type] IN ( 1, 4, 6 )
;
通報 ...