Ето фрагмент от VBA код, който използвах, за да извикам DB2 съхранена процедура. Същата техника трябва да работи за всеки 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 текст. Можете просто да оставите това в дефиницията на заявката, ако структурата на таблицата никога не се променя.
Предизвикателството за вас е, че трябва да използвате една и съща връзка за всички операции срещу временната таблица. В момента, в който връзката бъде затворена, вашата временна таблица ще изчезне, защото е локална временна таблица и е видима само за тази една връзка. Можете да избегнете това, като използвате '##', глобални временни таблици, ако имате права за това.