アクセス データベースに対する oledb クエリのコマンド ラインに少し問題があります。アクセスとコードの両方で、さまざまな構文を試しました。データベースへの接続は問題ありません。da を入力しようとしたとき、またはアクセスでクエリとして実行したときにエラーが発生します。
SELECT * FROM MyTable WHERE MyColumn = 'This Text String';
アクセスでこれを実行すると、データ型の不一致が発生します。二重引用符は同じ結果になります。テキスト文字列を次のように角かっこで囲んでみましたが、スペースが原因だと思いました。
SELECT * FROM MyTable WHERE MyColumn = [This Text String];
Access では、「パラメーター値を入力してください」というプロンプトが表示され、パラメーターが「このテキスト文字列」としてリストされます。
Like 演算子も使用してみました。
SELECT * FROM MyTable WHERE MyColumn LIKE 'This Text String';
一重引用符でも二重引用符でも、これはエラーを生成しませんが、結果も生成しません。構文エラーが発生する CONTAINS を試しました。
この時点で、他に何を試すべきかわかりません。私が達成しようとしていることは次のとおりです。
「MyColumn」のテキストが「This Text String」と等しい「MyTable」のすべての行を返します
誰かが私を助けることができますか?私は何かを見落としているように感じます。おそらく明らかです。
編集:ああ...これが問題かどうかはわかりませんが、おそらく役立つでしょう。
基づいてフィルタリングしようとしている列 (MyColumn) は、アクセス中の単なるテキストではなく、実際には別のテーブルの列のルックアップであることに気付きました。
データ型が実際にはテキストではなく、数値であるため (リストであるため)、おそらくそれが問題です。わかりました...どうすればそれを克服できますか?