MS Access

「3070 有効なフィールド名または式として認識できません」エラーで、困った

投稿日:2012年1月23日 更新日:

Accessで、クエリ単体での実行だとうまくいくのに、いざ、そのクエリをVBAコード内で実行すると、上記エラーが出る。

難問だった。
SQL文内でDISTINCTを使っているからかなーとか、LEFT JOINが悪いのかなーとか、3時間ほど悩んだ。
が、何とか解決。

問題は、SQL文の「*」にあった。

正: strSQL = “SELECT DISTINCT 企業.* FROM 企業 LEFT JOIN 履歴 ON 企業.ID = 履歴.企業ID” & _
誤: strSQL = “SELECT DISTINCT * FROM 企業 LEFT JOIN 履歴 ON 企業.ID = 履歴.企業ID” & _

二つのテーブルを使っている場合には、どのテーブルのフィールドを出力するか、きちんと明示しないとダメなんだね。
自分の場合、SQLを作る際に、Accessでまずは作るのだが、自動だと冗長に作られるので、「企業.」をエディタで全削除していた。
そのせいだった。

何とか今回もクリア。
しかしAccessに乗った旅はまだまだ続きそうであった。

-MS Access

執筆者:

関連記事

no image

Access2007 Runtime

MS-Access Discovery – [News] 速報:Access 2007 ランタイムはバグフィックスのため延期 http://x7net.com/~access/index. …

no image

Accessで複数の用紙サイズ・向きの帳票を印刷したいが2枚出るとか、思ったようにならないなら

私がAccessで作った会社の業務管理システムは、帳票類がほとんどA4縦の用紙で出力されるようになっている。 しかし、一部の帳票、というか封筒は、長三サイズと、角6サイズをの用紙にしないと、プリントが …

no image

Excelで使える祝日判定のWebAPIを見つけた

Excelの関数には、曜日を判定できる関数(WEEKDAY)が用意されている。また、表示だけなら書式設定でもできる。しかし祝日となると、関数も何も、用意されていない。 祝日は年により、突然増えたり、「 …

FileMakerで画像ファイルを一括インポート

私はAccessとの付き合いが長いので推しソフトなのだが、FileMakerはAccessに無い機能や表示が多いうえ、デザインの自由度になるとAccessを凌駕するので、まったく侮れない。 最近、Fi …

no image

AccessでNot in だと Null が抽出されないのは

以下のページに詳しく。 ACCESS クエリ 条件以外のレコードを抽出するには? – Access(アクセス) 解決済 | 教えて!goo <http://oshiete.goo.n …