# マクロを実行するときに一時テーブルを削除したいのですが、使用するのは正しいですか:
tempdb..sysobjects
スクリプトは次のとおりです。
sScript = sScript + "IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE xtype = 'U' AND name like '#vl_enrolledByDate%') " & vbCrLf
sScript = sScript + "BEGIN " & vbCrLf
sScript = sScript + "DROP TABLE #vl_enrolledByDate " & vbCrLf
sScript = sScript + "End " & vbCrLf
iVal = execute_sql_command(sServer, sDatabase, sScript)
sServer など。SQLPROD01 と sDatabase です。はscratchdbですが、 #tables はtempdbデータベースに保存されていると読みましたが、これがテーブルが存在しない理由ですか?
そのため、マクロを実行すると、次のエラー メッセージが返されます。
Run-time error '-2147217865 (80040e37)':
Cannot drop the table '#vl_enrolledByDate', because it does not exist
in the system cataglog.
しかし、 # 以外のテーブルを作成して使用する場合
(SELECT * FROM sysobjects WHERE xtype = 'U' AND name like 'vl_enrolledByDate%')
大丈夫だよ。