- ベストアンサー
こんどはフォームがでない
さきほど質問させていただいたものです こんどは重たい処理前にのフォームのオープンがかいてあるのですが 処理のほうが先にはしってしまっているみたいになってしまって フォームがオープンしてくれません。 コーディング順はだいじょうぶなのですが・・・ フォームに対してrefreshしてあげたのですが どうもだめなようです たびたびですが よろしくおねがいします。
- ayato
- お礼率25% (16/64)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
もしかしてその重たい処理は、フォームのロードイベントに書いてませんか? Sub Main Form1.Show Form1.Refresh 重たい処理をここに記述 End Sub というような処理にしてるのですよね?
関連するQ&A
- 【ACCESS】フォームのレコードソースのクエリを動的に書き直したときの、フォームの再描画
ACCESS2002 帳票フォームのレコードソースにクエリを指定しています。 フォーム上のコマンドボタンを押したイベントで、その レコードソースとしているクエリのSQLを書き直しています。 問題は、その書き直したクエリをもとにして画面をもう一度 表示させなおしたい(リフレッシュさせたい)ということです。 docmd.close acForm,"フォーム名" docmd.open "フォーム名" とすると、書き直したクエリの内容でフォームが表示されます。 フォームを閉じる→フォームを開くとしないで、フォームを リフレッシュさせる方法はないのでしょうか?
- ベストアンサー
- オフィス系ソフト
- Access メインフォームのリフレッシュについて
Access2003 にて、下記の手順で処理するプログラムを作成しています。 メインフォーム(埋め込みサブフォーム ※データシートビュー 一覧表) →埋め込みサブフォームの対象のレコードセレクタをダブルクリック。 →別フォームを起動し、データ入力更新。別フォームを閉じる。 →メインフォームのリフレッシュ し別フォームで変更した内容を反映させたい。 メインフォームのリフレッシュを行いたいのですが、うまくいきません。 ■試してみたこと メインフォーム、サブフォーム、別フォームとあり、 1. 別フォームのデータ更新が終了したあと、 別フォームを閉じる直前にForms![メインフォーム名].requery をしてみた メインフォームは別フォームを開く前の状態と、変化なし 2. 別フォームのデータ更新が終了したあと、別フォームを閉じ サブフォーム内ロジックで、Forms![メインフォーム名].requery をしてみた メインフォームは別フォームを開く前の状態と、変化なし 3. 別フォームのデータ更新が終了したあと、別フォームを閉じ サブフォーム内ロジックで、Me.requery をしてみた メインフォームは別フォームを開く前の状態と、変化なし ----- いずれもメインフォームには変化はありませんでした。 出来れば、メインフォームにはForm_Loadした時と同じように 処理を走らせたい(メインフォームを閉じることなくフォームロードから処理を再開させたい) と考えています。 サブフォームを含め、メインフォームごとリフレッシュするような処理はないでしょうか。 ご存知のかた宜しくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- ACCESSフォームでDB操作するには
Access2002で、フォームを作ってDBを操作しようと思って、ためしにフォームを作ってみました。 ところが、プログラム開発は10年近く前にやったのが最終で、 オープン系の開発経験が希薄なため、この後がさっぱりわかりません。 一応、クエリを作ってみたりしたのですが、さっぱり・・・。 フォームはDB構造とは、異なる設計にしたので、 ACCESSの解説書にあるような単純な動作を構築することはできません。 VBAを使わないとできないと思うのですが、いまいち書籍の説明がわかりません。 データベースをオープンして、値を処理させて、 ポインタを移動させて、DBに書き込んで、DBをクローズする、汎用機系の処理では、理解が及びません。 一応、SQLの知識はあるつもりだったのですが・・・。 何かこれから先に進めるために、ヒントとなるようなものは無いでしょうか・・。 質問自体が、あいまいで、恐縮してしまいますが、何とか前に進めたいので、どうか、何でもいいので、アドバイスよろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- フォームを表示してからメッセージボックスを表示する
メッセージボックスが表示される前に、フォームを表示させたいです。アクセスです。 ナビゲーションウインドウからフォームをダブルクリックしてフォームを開くのですが、 今のままだとメッセージボックスが表示されてからフォームが表示されてしまいます。 フォームを表示してからメッセージボックスを表示するにはどうすればいいでしょう? Private Sub Form_Open(Cancel As Integer) MsgBox "Form_Open" End Sub だと、先ほど述べたように、メッセージボックスが表示されてからフォームが表示されてしまいます。 フォームを開いたときのイベントは複数あるようで、 Private Sub Form_Activate() MsgBox "Form_Activate" Debug.Print "Form_Activate" End Sub Private Sub Form_Current() MsgBox "Form_Current" Debug.Print "Form_Current" End Sub Private Sub Form_GotFocus() MsgBox "Form_GotFocus" Debug.Print "Form_GotFocus" End Sub Private Sub Form_Open(Cancel As Integer) MsgBox "Form_Open" Debug.Print "Form_Open" End Sub Private Sub Form_Load() MsgBox "Form_Load" Debug.Print "Form_Load" End Sub をすると、 ・Form_Load ・Form_Activate ・Form_GotFocus ・Form_Open ・Form_Current の順に開きますが、やはりフォームが最後に表示されてしまいます。 どうにかして先にフォームを表示させる方法はないでしょうか? ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- アクセス97のフォームについて
前回質問したのですが回答がなかったので再度簡単に質問させていただきます 現在、帳票フォームとしてフォームを作成しています コードをレコードの項目にふってあるのですが、入力するさいに既存レコードとコードが重複した場合にエラーを表示したいのです 出来れば同一コードを入力された場合次のレコードへは行けないようにしたいのですが・・・。 フォームの更新前処理に設定すればとりあえず次のレコードへは行かなくなるのですが、既存レコードを編集した場合にもエラーが表示されるのです 更新前処理で処理をしたいのですがムリでしょうか? なにか良い方法があれば教えてください 宜しくお願いします
- ベストアンサー
- オフィス系ソフト
- エクセル97でのユーザーフォームについて
エクセル97でのユーザーフォームについて教えて下さい (1) まず最初にユーザフォームを作成しました。 (2) エクセルオープン時にメニューバーにボタンを追加し、そのボタンを押すと ユーザーフォームが表示されてくるという風に考えました。 ユーザーフォームは表示されるのですが、フォームに配置されているボタン等を 押してもまったく利きません(本来はメッセージが表示される) アクティブにはなっているようなのですが... Private Sub UserForm_Activate() End Sub 上のアクティブになった時に何か処理をもりこまなければいけないのでしょうか? 初歩的な質問で申し訳ないのですが、宜しくお願い致します。
- 締切済み
- オフィス系ソフト
- [VB6] フォームを閉じる方法について
お世話になります。 VB6で別フォームを起動する際の親フォームの閉じ方について 質問させてください。 呼び出し元フォームからShowメソッドで別フォームを起動すると、 呼び出し先のフォームでマウスのカーソルが砂時計表示になってしまいます。 (呼び出し元のフォームはUnload Meで閉じています。) [Form1の処理] Private Sub Button1_Click() Form2.Show Unload Me End Sub ※Form1は呼び出し元。Form2は呼び出し先。 原因について、どなたかご存知の方がいらっしゃいましたら、 ご教授願えますか?
- ベストアンサー
- Visual Basic
- VBAでフォームのスクロールバーが下にいってしまう
縦に長いフォームを作っているのですがフォームビューをするとフォームがやや下の方の画面で開けられてしまいます。 原因はフォームオープン時に対象レコードをテキストボックスに入れたり、プルダウンボックスにレコードをセットしたりしているからだと思います。(全てコーディングで) どうすればスクロールバーを一番上まで戻すことができますか?元からスクロールバーを移動させずにレコードをセットする方法でもかまいません。 それともう一つ、フォームのプルダウンボックスに、プロパティの値集合ソースからSQLをセットしたりする方法がありますが、VBAのグローバル変数をWHERE句に使用したい場合はこの方法は使えませんよね? 最後にもう一つクエリはVBAのグローバル変数使えませんよね? フォームのコントロールから値を取得することもできませんよね?
- ベストアンサー
- Visual Basic
お礼
フォームが出る前にリフレッシュしてもだめってことですよね 気づかせていただき ありがとうございます なんせ初心者なもんで たすかりました!