パソコン(ソフト)

【Access】定義域集計関数をVBAで使うと色んなエラーが出て困った(解決)

マイクロソフトのデータベースアクセス(以下Access)を使っていて些細な事で無駄な時間を費やすことは良くある。

注意ポイント

特に、カンマやカッコなどの違いで色んなエラーが出て中々特定できない場合がある

今回もDmaxという定義域集計関数というのを使ったので、無駄に様々なエラーを考えすぎてしまってカッコやカンマで解決するまでに時間が掛かったので備忘録にする。

ちょっとした違いでエラーの内容が変わる

DMax([no], "dbo_order")

本当に簡単な式ですが、

ココに注意

指定した式で参照されている'|1'フィールドが見つかりません。

となります。

何度もフィールドを確認して、noというのがシステムが使っている文字なのかと判断して、「[ ]」を付けたり外したりしました。この違いだけでエラーの内容も下記のようになります。







考え過ぎて無駄に時間を浪費

テーブルの指定のダブルコーテーションがダメなのかと考え過ぎて、外したり入れたりしましたが、一向にエラー回避することはできませんのでした。

Sqlserverのリンクテーブルなので、それがダメなのかとも考えてローカルテーブルで試して見たりしましたが関係ありませんでした。

テーブル指定は、"dbo_order"というふうに、ダブルコーテーションで最終的には問題ない事がわかりました。

結局はダブルコーテーションの中にカッコで解決

いろいろと試して結局は下記のようにしたら解決しました。

 

DMax("[no]", "dbo_order")

 

ココがポイント

"[no]"にたどり着くまで時間がかかった(´;ω;`)ウゥゥ

 

こんな些細な事なのですが、なかなかネット検索しても解決策が出てこないし、参考書をみても載ってない事が多いのです。

備忘録にして次回からは無駄な時間をかけないように回避したいと思います。

-パソコン(ソフト)
-, , , , ,

Translate »

© 2020 PCTips