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

SqlServer 2008 Express R2 をインストールしようとしているのだが、最後の最後でうまくいかない

前回、試しに自分の普段のPCでSqlServer2008をインストールしたのだが、今回はサーバ(といってもXP)を対象に同様のことをしてみた。 しかしインストールの最後で「there was an e …

no image

VBAで忘れてしまっていたことと、知らなかったこと

STOPステートメント: ブレークポイントを設定しないでもその行でコード処理を止めることができるので、Access終了->Access起動といったシチュエーションで使える。 Randomizeステート …

no image

AccessのレポートでNoDataでイベントキャンセル後もReport_Closeが実行されて困った

Accessのレポートで表示するデータがない場合は、以下のように書けばスマートにキャンセルできる。 Private Sub Report_NoData(Cancel As Integer) MsgBo …

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

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

no image

AccessからExcelフォーマットでファイルに出力するサンプルコード

Excelから外部データの接続の際に,ユーザー定義関数を含んだクエリを指定するとエラーになったので、こんなやり方で対処。 Private Sub btnB2_Click() DoCmd.OutputT …