2

Access データベースに VBA コードがあります。コード内の次の行で、「実行時エラー 3464 - 式のデータ型が一致しません」というエラー メッセージが表示されます。この行の正しい形式は何ですか? 単純な引用符か、行に欠けているものだと思います。

データベース内には、APIC メンバーと呼ばれる列があります。セルに「1」がリストされているレコードのみが必要です。

Table$ = "SELECT * From WHY_Open_Cases_YTD WHERE WHY_Open_Cases_YTD.[APIC Member] = 1;"
Set RST = myDB.OpenRecordset(Table$)

私が間違っていることを教えてください。メッセージをデバッグすると、Set RST = myDB.OpenRecordset (Table$)強調表示されます。

4

3 に答える 3

1

私の Access 2003 および 2007 システムでは、エラー #3464 の完全な説明は「条件式のデータ型の不一致」です。データベース エンジンは、使用するように要求している SQL ステートメントについて不平を言っています。

数値データ型ではなくテキスト データ型の場合[APIC Member]は、比較対象の値を引用符で囲みます。

Table$ = "SELECT * From WHY_Open_Cases_YTD WHERE [APIC Member] = '1';"
于 2012-04-05T05:40:24.270 に答える
0

「Data Type Mismatch」は、間違ったタイプの Recordset を開いているかのように聞こえます。
myDB.OpenRecordset()は を期待してDAO.Recordsetおり、あなたRSTはおそらくADODB.Recordsetです。

より詳細な説明については、この回答を参照してください:
Access 2003/2007 でレコードセットを開く

于 2012-04-05T05:10:51.547 に答える
0

試す

Table$ = "SELECT * From WHY_Open_Cases_YTD WHERE '[APIC Member]' = '1';"

DAO にも同じ問題がありましたが、フィールド名も引用するまで SQL クエリを受け付けないことがわかりました。

于 2016-04-15T16:01:45.473 に答える