access2010でSetFocusが使えない
こんな感じになる。フォームをクリックするなど操作しないとならなくなる。
コーディングが悪いのかどうかは突き詰めてはいない。ちょっとコードを加えれば解決するようだから。
Option Compare Database
Option Explicit
Private Sub Form_Load()
Set Me.Recordset = GettmpRs
End Sub
Private Sub cmdBind_Click()
Set Me.Recordset = GettmpRs
Me.Visible = False
Me.Visible = True
End Sub
Private Function GettmpRs() As ADODB.Recordset
Dim tmpRs As New ADODB.Recordset
Dim SourceRs As New ADODB.Recordset
Dim strm As New ADODB.Stream
SourceRs.Open "table01", _
CurrentProject.AccessConnection, _
adOpenKeyset, _
adLockOptimistic
strm.Open
SourceRs.Save strm
tmpRs.Open strm
Set GettmpRs = tmpRs.Clone
strm.Close: Set strm = Nothing
tmpRs.Close: Set tmpRs = Nothing
SourceRs.Close: Set SourceRs = Nothing
End Function
Open/Loadイベントでは問題ないのだけど、任意で実行するとどうにも調子がわるい。
AccessClub覗いてたら、オンメモリのRecordSetを作ってフォームのレコードソースにするコードを以前にやりかけていたのを思い出して、これもついでにメモ。なんかの拍子で強制終了してしまうのであまり使おうとはしていなかった。レコードソースにしなければ別に問題はないかな。
0 件のコメント:
コメントを投稿