Quantcast
Channel: Windows Server 2008 フォーラム
Viewing all articles
Browse latest Browse all 1459

tempdbに作成したテーブルをアクセスのレポートのレコードセットにする方法について

$
0
0

初めて質問させて頂きます。

自己流で開発して来ましたので、表現などで的を得ない部分もあると思いますが、
どうぞ宜しくお願い致します。

以前アクセスADPで作成したシステムをSQLServer(2008)へODBCで接続するよう
accdb(アクセス2013)に移行・修正しているところです。

下記はaccdbファイルのレポート(開く時)に記述した一部です。
ストアドプロシージャは期間を指定して該当するデータを
(SELECT … INTO …)でtempdb内に書き出すものです。

実際にtempdb内にはテーブルが作成されているのですが(①の部分)、
それをレポートのレコードセットに代入しようとすると(②の部分)、
「この機能はADPのみで有効です。」と表示されてしまいます。

Me.RecordSource = "SELECT * FROM " & ワークテーブル名 & " IN …
IN以降の記述でtempdbを指定するような方法を見かけたのですが、うまくいきません。

tempdbに作成した一時テーブルをレポートのレコードセットにする方法について、
ご教示ください。宜しくお願い致します。


Dim cnn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rst As New ADODB.Recordset
 
cnn.ConnectionString = "Driver={SQL Server};Server=サーバーIPアドレス;Database=データベース名"
cnn.Open
cnn.CursorLocation = adUseClient
Set cmd.ActiveConnection = cnn
 
With cmd
  .CommandText = ストアドプロシージャ名
  .CommandType = adCmdStoredProc
  .Parameters.Refresh
  .Parameters(1) = 入力パラメータ_1(ワークテーブル名)
  .Parameters(2) = 入力パラメータ_2(年月日_自)
  .Parameters(3) = 入力パラメータ_3(年月日_至)
End With

Set rst = cmd.Execute ←① この時点で tempdb内にテーブルが存在するのですが

Set Me.Recordset = rst ←②「この機能はADPのみで有効です。」と表示されます。

Set rst = Nothing
Set cmd = Nothing
Set cnn = Nothing


Viewing all articles
Browse latest Browse all 1459

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>