MS Access

Accessのフォームをデザインしようとすると固まる

投稿日:

タイミングとしては、フォームをデザインビューにした直後、プロパティシートをクリックしたとき。それだけで数十秒待たされる。
原因は、なんとなく、気が付いている。
ついさっき、フォームで使っているクエリに、重い処理がかかる関数を書いたからだ。
調べたら、確かにそこでもたついている(Ctrl-Breakするとその関数でStopする)。
しかし、通常の入力編集のビューならともかく、デザインビューでは、そのクエリを読み込むことが無いはず、理屈では。だってデータそのものはその場では表示していないから。

試したこと1:
データベースのオプション-現在のデータベースで、名前の修正オプションをオンオフしてみた。
結果:変わらなかった。固まる。

試したこと2:
関数内に、If CurrentProject.AllForms!frmデータ入力.IsLoaded Then ~ として、フォームが読み込まれているときだけその関数が走るようにした。
結果:ほとんど変わらなかった。固まる。

試したこと3:
フォームのレコードソースをプロパティシート上では削除したうえで、そのフォームの読み込み時(Form_Load)イベントで、フォームのレコードソースを読むようにした。


Private Sub Form_Load()
Me.RecordSource = “販売と発注ショート” ‘フォームに連結しているクエリ内の関数読込に時間がかかる対策
End Sub


結果:速くなった。

ということで、今回も対症療法的な解決。

-MS Access

執筆者:

関連記事

no image

Accessでレコードコピー(オートナンバー除く)の決定版のコード!

Accessで、レコードのオートナンバーを除くフィールドを1行、複製(コピー)したくって、Google検索したのだけどなかなか出てこず、しかしやっと見つけた、黄金のソース・・・・。 [VBA] ADO …

no image

ドメインのDNSの管理会社を移転したら、BASP21でSMTP送信がエラー

CPIも、BASP21も、どちらもマイナー(笑)なので、誰の役にも立たないかもしれないけど、自分の備忘録として、残します。 これまでCPIでWebもメールも動かしていたが、WebのみをShopifyに …

no image

AccessとBASP21で正規表現を使ってメール文から必要事項を取り出すサンプル

Accessで正規表現を使いたかったのですが、ネット上にはサンプルが少なく、苦労したので、とりあえずツギハギで作った私のコードを披露したいと思います。 Accessで正規表現を使うには、BASP21を …

Office365にはSharePointリストという表データが保存できる機能がありAccessのリンクテーブルにできる

Office365では、AccessのWebアプリを作れる。 それで今、勉強しているのだが、Office365にはSharePointリストという表データが保存でき、それをAccessのリンクテーブル …

no image

DoCmd.GoToRecordよりもMe.SaveよりもMe.Refresh

Accessで、一旦フォーム上のレコードを保存したいとき、 Me.Save とやってもレコードが保存されない。 そこで、今までは、DoCmd.GoToRecordで無理矢理レコードを移動して保存してい …