(エラー:3342)サブクエリ ‘<サブクエリ名>‘ のメモ型または OLE オブジェクト型のデータが正しくありません。

AccessVBA開発

サブクエリはメモ型 (Memo) または OLE オブジェクト型 (OLE Object) のデータを返せないため、式の中でメモ型 (Memo) または OLE オブジェクト型 (OLE Object) のデータと比較することはできません。

<対処方法>

データのフィールドサイズが255文字を超える場合、「長いテキスト」(メモ型)でフィールドを定義するけれど、このデータを活用しようとしてサブクエリでSELECTするとエラーが起きる。

SQLでUPDATEするときに、サブクエリとしてSELECT文で値を抽出せずに、別に、Dlookup関数等で、値を取得して代入する。

【WEHER句】の変数が文字列型
⇒ DLookup(“[更新日]”, “[Aテーブル]”, “[実施日]='” & last_date &”‘”)
【WEHER句】の変数が数値型
⇒ DLookup(“成分”, “TB_製品”, “行番号 = ” & lng行番号)

タイトルとURLをコピーしました