WINDOWS XP
ACCESS 2002
MSDE
を使用しています。
ADOでストアドプロシージャを作成して
作成したストアドプロシージャをレコードソースとしたフォームを開こうとしたところ
エラーが発生してしまいます。
以下、ソースを大まかに示します
'-------------------------------------------------
sub test_Click()
On Error GoTo err_test
Dim Dname As New ADODB.Connection
Dname.Open
Dname.Execute "CREATE PROCEDURE q AS " + vbCrLf + _
" SELECT a FROM b WHERE (c = 1) ORDER BY d
DoCmd.OpenForm "F" ,
Exit Sub
err_test:
MsgBox "err : " + Err.Description
End Sub
'-------------------------------------------------
開こうとしているフォーム"F"のレコードソースには
作成したストアドプロシージャ"q"
を指定しています。
DoCmd.OpenForm で以下のエラーが発生します。
エラー番号は"2580"
メッセージは"このフォームまたはレポートで指定されているレコード ソース 'q' は存在しません。"
Access再起動して、ストアドプロシージャを作成せずにフォームを開くと
フォームは開けるのですが、
作成した直後にフォームを開きたいと考えております。
なにが原因なのでしょうか?
ご回答のほど、何卒よろしくお願いいたします。
お礼
ご回答ありがとうございます。 結局フォームを開く前にテーブルを動的に作成し、 VBA上でレコードを追加、 フォームを開いた時にレコードソースを定義しなおして 再表示。 という工程をへて、思ったような表示がなされるように なりました。 ご協力いただきまして、本当にありがとうございました。