Access (VBA)

Access VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Pro : Microsoft 365)
SQL Serverの一時テーブルに接続できない件
投稿日時: 24/03/26 20:34:42
投稿者: アロハ

いつもお世話になっております。
 
AccessからSQL Serverにtempテーブル(#TEMP_TABLE)を作成して操作しています。
作成した#TEMP_TABLEに接続しようとするとエラーになって困っています。
 
cn.ConnectionString = DSN=*********(省略します)
cn.Open
strSQL = "SELECT COUNT(*) as list_count FROM #TEMP_TABLE"
Set rs = cn.Execute(strSQL)
 
最後のコードでオブジェクト名#TEMP_TABLEが無効です。となってエラーになります。
ちなみに他のテーブル名にすると正常に動作します。
 
何かやり方が間違っているのでしょうか。
 
 
ご教授の程、よろしくお願いいたします。

回答
投稿日時: 24/03/27 14:50:32
投稿者: sk

引用:
AccessからSQL Serverにtempテーブル(#TEMP_TABLE)を作成して操作しています。

それをどのタイミングで行われているのでしょうか。
 
引用:
作成した#TEMP_TABLEに接続しようとするとエラーになって困っています。

SQL Server におけるローカル一時テーブルは、1 つのセッション内のみで有効です。
セッションを終了(データベースとの接続を切断)すれば削除されます。
 
引用:
最後のコードでオブジェクト名#TEMP_TABLEが無効です。となってエラーになります。

引用:
cn.ConnectionString = DSN=*********(省略します)
cn.Open
strSQL = "SELECT COUNT(*) as list_count FROM #TEMP_TABLE"
Set rs = cn.Execute(strSQL)

そのセッションにおいて #TEMP_TABLE がまだ作成されていなければ
当然そのような結果となるでしょう。

トピックに返信