Date: Wed, 7 Mar 2001 13:11:53 +0900
From: "deml" <who@example.co.jp>
サイトーと申します。
> フォームからローカル一時テーブル"#MyTempTable"を作成し、数行の
> レコードを挿入し、サブフォームと"#MyTempTable"を連結します。
> (これは挿入したレコードがうまく表示されます。)
>
> 次に、そのフォームからレポートを開くときに
> 1. レポートのRecordSourceにローカル一時テーブル"#MyTempTable"
> を設定していると「オブジェクト名"#MyTempTable"は無効です」
> のエラーがでます。
>
> 2. Private Sub Report_Open(Cancel As Integer)
> Me.RecordSource = "#MyTempTable"
> End Sub
> を設定していると、「レコードソース'#MyTempTable'は存在しません。」
> のエラーがでます。
>
> 3. Private Sub Report_Open(Cancel As Integer)
> Me.RecordSource = "SELECT #MyTempTable.* " & _
> "FROM #MyTempTable"
> End Sub
> を設定していると、「OLEオブジェクトのプロパティまたはメソッドに
> アクセスするときにエラーが発生しました。」のエラーがでます。
> レポートにローカル一時テーブルは連結できないのでしょうか。
> (このとき、ストアドプロシージャで、"SELECT #MyTempTable.*
> FROM #MyTempTable"は実行できるので、"#MyTempTable"は
> 確かに存在しています。)
ローカル一時テーブルは、確か作成したコネクション中のみ有効であったと思いま
す。
なので、もし、レポートがレコードソースを開くとき別のコネクションを開いていた
としたら、アクセス出来ないことになります(よね?)。
実際出来みたいですから、そうなのかも知れません。
でも、一時テーブルを作成し、そのレコードセットを返すストアドプロシジャを作成
し、
そのストアドプロシジャをレコードソースとすれば、出来た記憶があります。
但し、「オブジェクト'オブジェクト'xxxx'を
見つけることができません。'を見つけることができません。」
という変なメッセージに悩まされる事になりますし、テキストボックスの名前等も
一覧表示されないので、入力に苦労しますが...
この辺の解決方法は、以前このMLの管理者の堀川さんが何処かに書かれていたような
記憶があるのですが...ありませんでしたっけ>堀川さん
それと、そのストアドプロシジャには、set nocount onが必要です。
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|