DB2 ストアド プロシージャを呼び出すために使用した VBA コードのスニペットを次に示します。同じ手法が、どの DDL ステートメントでも機能するはずです。これを行うには、パススルー クエリを作成し、CREATE TABLE #tblname...
を配置します。 ステートメントを SQL テキストとして使用します。
重要:次に、クエリのプロパティ シートを開き、[レコードを返す] プロパティを [いいえ] に設定します。
Dim qdf As QueryDef Set qdf = CurrentDb.QueryDefs("qry_SP_CHANGE_COLUMN") qdf.Connect = CurrentDb.TableDefs("SCHEMA_tblName").Connect qdf.SQL = "call SCHEMA.SP_CHANGE_COLUMN(...)" qdf.Execute dbFailOnError qdf.Close Set qdf = Nothing
プレ>おそらく SQL テキストを変更する必要はないことに注意してください。テーブル構造が変更されない場合は、クエリ定義にそのまま残すことができます。
あなたにとっての課題は、一時テーブルに対するすべての操作に同じ接続を使用する必要があることです。接続が閉じられると、一時テーブルはローカルの一時テーブルであり、その 1 つの接続にのみ表示されるため、消えます。権限がある場合は、'##' (グローバル一時テーブル) を使用することでこれを回避できます。