ちょっとしたデータを検索して、非連結のテキストボックスに表示させるという
注意ポイント
シンプルなVBAコードでしたがエラーが修復できずに複雑なコードに変更したら回復しましたが、なぜか原因不明のフリーズ
が頻繁に起きました。
Access2013バージョンでデータベース作成
Private Sub Form_Load() edit_ID = DLookup("ID", "dbo_master_client", "[no] = 1") 'Dim cn As New ADODB.Connection 'Dim rs As New ADODB.Recordset 'Dim SQL As String ' ' SQL = "SELECT * FROM dbo_master_client WHERE [no] = 1" ' ' Set cn = CurrentProject.Connection ' rs.Open SQL, cn, adOpenKeyset, adLockOptimistic ' ' ' ' ' If rs.EOF Then ' MsgBox ("条件に一致するデータは存在しませんでした。") ' ' With Me ' !edit_ID = "" ' End With ' ' Else ' ' With Me ' !edit_ID = rs!ID ' End With ' ' End If ' 'rs.Close: Set rs = Nothing 'cn.Close: Set cn = Nothing End Sub
フォームの読み込み時に、Dlookupをつかったデータ検索をして、非連結のテキストボックスに表示させるというシンプルなコードですが、なぜか記述が違うよ的な原因不明のエラーがでました。
Dlookup関数を使う時には、カンマとかダブルコーテーションとか違うとエラーが出ることがあるので、時間を費やして色々と試してみましたがダメでした。
注意ポイント
仕方なく、上のコードでコメントアウトしている部分のような、複雑なコードで動かすと、とりあえず動くことができました。
Accessがフリーズするようになった!
なぜか、
ココがダメ
その時からAccessが頻繁にフリーズするようになりました。
右上の閉じるボタンだけは生きていたり、全く全部が死んでいたりするフリーズでした。
本当に困ります。
仕方なくデータベースの修復
仕方なくデータベースの修復をしてみました。
ん・・・
ココに注意
もしかしてOfficeのバージョンの違いでおかしくなってる!?
データベースの修復をするとまともに動きだします。
その後も同じVBAコードの場所でフリーズしては、データベースの修復で回復させました。
Office365で編集した後のAccess2013は注意
自分の推測でしかありませんが、パソコンを変えて作業をしたので、Office365にて作業をした後に、またパソコンを変えて、Access2013で作業をしました。
もしかすると、これが原因!?
つまり、Office365から比べれば、Access2013は下位になりますよね。
下々の奴らの事は知らないよ的なマイクロソフト様の陰謀じゃないですか!?
今後は、注意して作業を進めていきたいと思います。
VBAコードの方は、Dlookup関数の一行だけで結果的には解決することができました。
これだけに凄い時間を費やしてしまいました。