日付/時刻フィールドを持つ Access テーブルがあります。日付/時刻フィールドと他の 3 つのテキスト フィールドから、別のデータベースの一致するキー フィールドと同じ形式の複合キー フィールドを作成したいと考えていました。
そこで、3 つのテキスト フィールドを連結し、モジュールにユーザー定義関数を記述して、日付フィールドを「YYYYMMDD」形式の文字列として出力しました。
Public Function YYYYMMDD(dteDate As Date) As String
YYYYMMDD = Format(dteDate, "YYYYMMDD")
End Function
その後、Access でクエリを正常に実行でき、すべて正常に動作します。
しかし、Excel で DAO コードをセットアップし、Access 内で正常に動作するクエリを実行しようとすると...
db.Execute "qryMake_tblValsDailyAccount"
...Excel で「式に定義されていない関数があります。(エラー 3085)」というエラーが表示されます。
私にとって、これは Excel および/または Access のバグです。(Excel) クライアントは、(Access) サーバーが分離しているときに通常完全に行われる内部計算について何も知る必要がないからです。
Excel はクエリ定義 (パラメーターのない名前) をサーバーに送信し、サーバーに作業を任せてから回答を受け取る必要があります。サーバー内部の機能に関与する必要があるのはなぜですか?
誰もこれを回避する方法を知っていますか?