Oto fragment kodu VBA, którego użyłem do wywołania procedury składowanej DB2. Ta sama technika powinna działać dla każdej instrukcji DDL. Aby to zrobić, utwórz zapytanie przekazujące i umieść CREATE TABLE #tblname...
oświadczenie jako jego tekst SQL.
WAŻNE:następnie otwórz arkusz właściwości zapytania i ustaw właściwość „Zwraca rekordy” na „Nie”.
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
Zauważ, że prawdopodobnie nie będziesz musiał zmieniać tekstu SQL. Możesz po prostu zostawić to w definicji zapytania, jeśli struktura tabeli nigdy się nie zmieni.
Wyzwaniem dla Ciebie jest to, że musisz używać tego samego połączenia do wszelkich operacji na tabeli tymczasowej. W chwili zamknięcia połączenia Twoja tabela tymczasowa zniknie, ponieważ jest to lokalna tabela tymczasowa i jest widoczna tylko dla tego jednego połączenia. Możesz tego uniknąć, używając globalnych tabel tymczasowych „##”, jeśli masz do tego uprawnienia.