現在、ODBC を介してリンクされたいくつかのテーブルのデータを照会する複数のクエリと、ユーザー インターフェイスを介して編集されるいくつかの一時テーブルがあります。クエリには、次のような複雑な基準があります。
SELECT * from ThingsData
この場合、Thing はフィールドであり、ListOfThings は、ユーザーがユーザー インターフェイスから定義する一時テーブルです。基本的に、ユーザーは、データをフィルタリングしたいフィールド Thing のリストをまとめ、ユーザーがリストに追加した Thing 値に一致するデータのみをクエリしたいと考えています。現在、クエリしているデータはリンクされた ODBC テーブルにあり、一時テーブル ListOfThings は単なる通常のローカル テーブルであり、すべてがうまく機能します。リンクされたテーブルを取り除き、代わりにパススルー クエリを使用したいと考えています。ただし、そうすると、基準が非常に単純でない限り、エラーが発生します。
WHERE (Thing In(SELECT Thing from ListOfThings) AND getThingFlag() = True);
「ODBC -- 呼び出しに失敗しました。オブジェクト名 ListOfThings が無効です。」
基準がない場合は、うまく機能します。
簡単に言うと、パススルー クエリで、モジュールの SELECT と関数を含む条件を適用し、基本的にローカル テーブルのデータに基づいてパススルー テーブルをフィルター処理するにはどうすればよいですか?