動的クエリを使用して温度テーブルを作成する方法
-
28-10-2019 - |
質問
CREATE QUERY ohQuery.
ohQuery:SET-BUFFERS(hBuffer).
OhQuery:QUERY-PREPARE("FOR EACH " + ip-tablename ).
ohQuery:QUERY-OPEN().
ohQuery:GET-FIRST().
ip-tablename = value from UI (combo box)
次に、このクエリのために温度テーブルを作成する必要があります。作成方法は?
作成のような方法を使用している場合、これにどのような値を渡す必要がありますか?
解決
実行時に動的に温度テーブルを作成するには、上記のテーブルのバッファーまたはテーブルネーム自体のハンドルが必要です。 「IP-Tablename」のバッファーのハンドルが既にあるのを見ると(hbufferが「IP-TableName」という名前のテーブルのバッファーであると仮定しています。そうしないと、上記のステートメントは機能しません)パフォーマンスの理由からテーブル名を「ただ」する代わりに。これがそれを行う方法です:
DEF VAR ttH AS HANDLE NO-UNDO.
ttH:CREATE-LIKE(hBuffer).
オプションでは、作成のような方法に「IP-TableName」を使用することもできますが、次のことも機能しません。
ttH:CREATE-LIKE(ip-tablename).
新しい温度テーブルを使用する前に、温度テーブル準備方法を使用する必要があることを忘れないでください。
ttH:TEMP-TABLE-PREPARE("myNewTempTable").
それが役立つことを願っています!
所属していません StackOverflow