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 件のコメント:
コメントを投稿