1
をドロップするには、execスクリプト私は、マクロを実行するときに#の一時テーブルをドロップしたい、使用することが適切である:エクセルVBA - 一時テーブル
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ですが、#テーブルが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%')
を使用している場合、それは大丈夫です。