「指定した式で、閉じているかまたは存在しないオブジェクトを参照しています。」
今まで普通に動いていたのに、他のフォームのパーツの修正やらやっていると
急にサブフォームのレコードソースの切り替えの際に、このエラー!?が出て、切り替えできない。
修正・追加したフォームとは全く関係のない既存フォームで発生している。
確認してみるとサブフォームが読み込まれていない。
読み込まれていないサブフォームの情報を参照できないから、このエラーが発生。
なぜ読み込まれないのかが分からない。
<解決策>
このため、対処法としては、Open、Loadイベントは使用せず、OpenFormした後に、フォームに定義したPublicイベントを呼び出すという方法をとっています。この方法だと、オブジェクトの生成後の呼び出しになるため、問題が発生しません。
多分、こんな感じです
Public Function OPEN_MF01_JOB選択F() As Integer
Dim frm As Form_MF01_JOB選択F
DoCmd.OpenForm “MF01_JOB選択F”
Set frm = Forms(“MF01_JOB選択F”)
frm.Init
End Function
Public Sub Init()
Me!T02_PJ_DT.Form.RecordSource = set_sql ‘20100708 ←ここで止まる
End Sub
<参照先>
http://www.vbalab.sakura.ne.jp/vbaqa/c-board.cgi?cmd=ntr;tree=11710;no=11711;id=access