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

「抽出条件 フォーム access not in クエリ」とか「forms access in 抽出条件 複数」とかでググっても出てこなかったので、メモ

Accessでフォームからクエリに抽出条件をパラメータで渡すやり方が分からなくて、数時間苦労。 このタイトルがGoogleの肥やしになって、このサイトに来てくれる人が増えれば。。。 要するに私がやりた …

no image

Accessのパラメータは クエリのみならず、SQL文字列でも できるとは。。。

以下のリンクが参考になった。 パラメータの設定方法がわかりません。パラメータの設定を行ってい… – Yahoo!知恵袋 以下は、自分の業務で作成したコード。 Dim dbs A …

no image

Access2013のWeb機能について(FileMakerと比較して)メモ

ここ数日、MS-Access 2013のWeb機能を勉強していたので、そのメモ。 ■フォームの書式 選択肢があまりに少ない。FMのようにデザインやテーマが用意されていない。 リスト表示のサイズが変更で …

no image

Accessの再クエリーでデータが移動してしまうのを解消

仕事メモ。 メイン・明細フォームのときは、 http://www.sanryu.net/acc/tips/tips323.htm を参考に、 Dim m_offset As Long ‘レ …

no image

AccessからExcelフォーマットでファイルに出力するサンプルコード

Excelから外部データの接続の際に,ユーザー定義関数を含んだクエリを指定するとエラーになったので、こんなやり方で対処。 Private Sub btnB2_Click() DoCmd.OutputT …