アプリ版:「スタンプのみでお礼する」機能のリリースについて

ExcelからACCESSファイルに接続し、該当する値を落とし込もうとしているのですが、エラーになってしまいます。
ACCESSのクエリ経由では問題なく該当するものを表示しています。

Const ADO_CONNECT1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
Const ADO_CONNECT2 = "フォルダ場所"

Dim dbCon As New ADODB.Connection
Dim dbRes As New ADODB.Recordset

Dim SqlSet As String

Public Sub 接続()

SqlSet = "SELECT "
SqlSet = SqlSet & "テーブル名.日時, テーブル名.排出数" & vbNewLine
SqlSet = SqlSet & "FROM テーブル名" & vbNewLine
SqlSet = SqlSet & "WHERE (排出数=0) AND Nz(DLookUp(""排出数"",""テーブル名"",""日時='"" & DMax(""日時"",""テーブル名"",""日時<'"" & [日時] & ""'"") & ""'""),-1)<>0 ;"


'mdb接続
dbCon.Open ADO_CONNECT1 & ADO_CONNECT2

'レコードセット
dbRes.Open SqlSet, dbCon, adOpenKeyset, adLockReadOnly



レコードセットの部分で
実行時エラー '-2147217900(80040e14)':
式に未定義関数 'Nz'があります。

と、出て処理が止まってしまいます。

イミディエイトでは
?SqlSet
SELECT テーブル名.日時, テーブル名.排出数
FROM テーブル名
WHERE (排出数=0) AND Nz(DLookUp("排出数","テーブル名","日時='" & DMax("日時","テーブル名","日時<'" & [日時] & "'") & "'"),-1)<>0 ;

と、なっており、これを該当するACCESSファイルのSQLビューに貼り付けると問題なく条件に一致した物が表示されます。
何故Excel経由だとエラーになるのでしょうか?

A 回答 (1件)

SQLSet組み立ての中の、日本語の列名を [ ] で括るとどうなりますか?

    • good
    • 0
この回答へのお礼

解決しました、ありがとうございました

お礼日時:2015/01/08 17:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!