循環参照エラーを回避し同名の列を出力する

 クエリで関数等を使ったときに、元の列と同じ列名で出力する方法についてです。

f:id:accs2014:20170429235706p:plain:right:w400

 例として右のようなテーブルを用います。
 「身長」列がテキスト型になっているのがわかります。


f:id:accs2014:20170429235705p:plain:right:w400

 そこでクエリにおいて関数を使い、数値型に変換します。このとき、出力される列名を同じ「身長」にしようとすると右の画像のように「クエリ定義のSELECTで指定されている別名'身長'が循環参照を発生させています」とメッセージが出てエラーとなります。


f:id:accs2014:20170429235704p:plain:right:w400

 ちょっとでも別の名前をつければいいだけですがいちいち考えるのも面倒ですし、こういう列が増えると列名の管理が大変になります。
 そこで、フィールド欄に次のように記入します。

身長: CInt([会員テーブル].[身長])


f:id:accs2014:20170429235703p:plain:right:w400

 データシートビューです。無事に同名の列として出力されました。
 SQLがわかれば自明の内容ですが、案外気づきにくいかもしれません。