• ベストアンサー

ACCESSでのプログレスバー表示について

ACCESSでのプログレスバー表示をしようと考えています。 EXCELでは別フォームでのプログレスバー表示ができたのですが、 ACCESSではうまくいきません。 Web上でのサンプルも同一画面内でのプログレスバー表示でMeを使うものばかりです。 別画面でフォームを表示して制御することはACCESSでできるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Private Sub コマンド5_Click() On Error GoTo Err_コマンド5_Click   Dim I As Integer   DoCmd.OpenForm "Test", , , Null   For I = 1 To 100     Forms("Test").Controls("ProgressBar").Value = I     Pause 0.1   Next I   DoCmd.Close acForm, "Test" Exit_コマンド5_Click:   Exit Sub Err_コマンド5_Click:   MsgBox Err.Description   Resume Exit_コマンド5_Click End Sub これは、フォーム"Test"をオープンし0.1秒毎に進捗度表示を更新し10秒後に閉じるコードです。同様のやり方で目的は達成出来ると思います。

eslemonedo
質問者

お礼

できました。ありがとうございました。 根本的に他のフォーム参照のコーディングの仕方がわかっていませんでした。 とても助かりました。

その他の回答 (1)

回答No.2

補足:DoEvents は Pause関数内に記述しているのでサンプルコードでは割愛しています。

関連するQ&A

  • プログレスバーの表示方法

    VB6.0 SP5 WINDOWS2000 で開発しています。 処理中のフォームをEnabled=Falseにして、 プログレスバーだけを別のフォームに表示させて、 処理中はプログレスバーのValueをどんどん増やす。 終わるとプログレスバーのフォームを閉じて、 処理してたフォームをEnabled=Trueにしるのですが、 プログレスバーを表示させてるフォームが、変なんです。 プログレスバーが増えている状態の時、 そのフォームが透けてるような、後ろのフォームとまざってるような、 そんな感じになるんです。 これをきれいに表示させたいのですが、何か良い方法はないものでしょうか?

  • Access2000のステータスバーにプログレスバーを表示したい。

    こんにちわ たびたび申し訳ありません。 Access2000 の左下のステータスバーにプログレスバーを表示したいのですが、どのようにしたら良いでしょうか・ Access97 ではやった事有るのですが、やり方を忘れてしまいました。 もしご存知の方いらっしゃいましたらよろしくお願い致します。

  • Labelでプログレスバーの表示

    いつも大変お世話になっております。 動作が重いマクロ、プログラムが多いため、 プログレスバーを表示させたいと思っています。 フォームを20個以上準備しており、 それに対し プログレスバーを使いたいのが10個程度であり、 今後増えるかもしれません。 そのため、標準モジュールを利用し、簡単に プログレスバーを設定できないかと思っています。 '=================== 【標準モジュール Module1】 Sub Bar_progressBarData(Byval UserFormName as string, Byval MaxData as Long,LabelName as string) 'UserFormName 引用するところ?のユーザーフォーム名 'MaxData バーの最大値設定 'LabelName バー表示するラベル名 'ProgressBarの初期設定などをやる End sub '------------------------- Sub Bar_progressBarInt(Byval UserFormName as string, Byval MaxData as Long,LabelName as string) 'UserFormName 引用するところ?のユーザーフォーム名 'MaxData バーの最大値設定 'LabelName バー表示するラベル名 'ProgressBarの値を増やしていく(増加させていくプログラム) End sub '================= 【UserForm Test】 Sub DataChangeGraph() 'ループが多いデータ Call Bar_progressBarInt(Me.Name,10,"Label1")'バーの値を増加させていく End Sub Private Sub UserForm_Initialize() Call Bar_progressBarData(Me.Name,10,"Label1")'初期設定(例として、max10にしました) End Sub Maxの値、プログレスデータに使用する値は グローバルに設定してしまうというのも楽かもしれません。 しかし、この続きの肝心なプログラムが分かりません。 「プログレスバーの作り方」 h ttp://www.h3.dion.ne.jp/~sakatsu/ProgressBarTopic.htm このサイトが良いと評判でしたので、 見ましたが何をしているのか良く分かりませんでした。 Widthを設定? Dim sngBarMaxWidth As Single? そして、私がやりたいこととは少し違うようです。 私がやりたいのは、フォーム上に毎回プログレスバー用のプログラムを書くのが面倒だったので、 標準モジュールとしてSubプロシージャを作成(日本語? そして、それを引用してプログレスバーの設定を簡単に終わらせる ということがしたかったのです。 できれば、ラベルなど Excelに標準で備わっているものを使用したいと思っています。 プログレスバー専用のツール(参照設定などを用いるもの) はその後にエラーが出たとき困るので、使いたくありません。 なんとなく伝わったでしょうか? 回答よろしくお願い致します。 Excel2003 VBA

  • Access プログレスバー 画面固まる

    Access 2007 VBA でファイル出力処理が長いため、以下を参考にしてプログレスバーを設置しました。 http://www.moug.net/tech/acvba/0060023.htm 1,000件程度だと進行状況がちゃんと表示されるのですが、10,000件単位になるとAccess自体が応答せず、プログレスバーも途中で止まったまま、だけど処理は裏で動いているようでファイル出力自体は時間はかかりますがちゃんと出力されます。 DBアクセスを含んだファイル出力処理なので、多少時間がかかっているのかと思います。 また、私の技術の低さから処理自体に時間がかかってしまっていることもあると思いますが、私の技術では処理自体を変えて早くするのは限界です。 Access画面が固まらず、リアルタイムでプログレスバーを進行させる手段等ございましたらご教授いただけるとありがたいです。

  • プログレスバーについて

    プログレスバーについて .NET C#で開発をしています。 初心者です。 オラクルからデータを取得し、SPREADに表示させるまでの 待機時間に、現状は砂時計を表示させているのですが、そこを プログレスバーにしたいと思っているのですが、 使った事がありません。 ネットで探しても難しく書かれていたりして今一理解出来ません でした。どなたかご親切な方に簡単なサンプルコードを ご教授頂けませんでしょうか。 宜しくお願い致します。

  • Objective-C プログレスバーの表示方法について

    ファイルを読むときなどに使うプログレスバーの表示方法を、模索しています。 プログレスバー自体は、0 - 100% の数値を入れようと思います。 数値の与え方は、Cocoa Bindingsにしようと思います。 出来れば、この部分を一つのクラスと扱いと思います。(使い回しが出来ることを理想とします。) Windowを、別に設けるとか、スレッドを立てるかなどの構想はたっておりません。 このような条件下で、サンプルソースコードを探しております。 後、作成をするに当たっての注意事項があれば、お聞かせください。 例えば、プログレスバーではなく、レベルメータの方が良いとか。 よろしくお願いします。

  • プログレスバー

    アクセス+VBAです。 処理に時間がかかる場合に横のバーの進み具合で表示するのをプログレスバーっていうんでしょうか? それを、アクセスで利用できませんか? 方法を教えて下さい。

  • javascriptによるプログレスバーの表示制御

    javascriptで任意の処理を実行中に、HTMLのプログレスバーの表示を制御する方法をご教示ください。 ただし、JQueryなどのライブラリは使わないものとします。 実現したい処理は以下です。 (1):処理開始時にプログレスバーを表示  (HTMLに定義されている<progress>を表示) (2):処理A実行 (3):プログレスバーの進捗を50%に更新 (4):処理B実行 (5):プログレスバーの進捗を100%に更新 (6):処理終了時にプログレスバーを非表示 上記を実現するために、例えば以下のようなコードを書いても、(1)~(6)の全処理が終わった結果が画面に反映されるため、画面上はプログレスバーは表示されません。 <progress id="prog" max="100" value="0" style="display:none">Loading...</progress> <script> //(1):処理開始時にプログレスバーを表示 document.getElementById("prog").style.display = 'block'; //(2):処理A実行(仮の処理としてsleep) Sleep(3); //(3):プログレスバーの進捗を50%に更新 document.getElementById("prog").value = '50'; //(4):処理B実行(仮の処理としてsleep) Sleep(3); //(5):プログレスバーの進捗を100%に更新 document.getElementById("prog").value = '100'; //(6):処理終了時にプログレスバーを非表示 document.getElementById("prog").style.display = 'none'; //Sleepメソッド(テスト用) function Sleep(T){ var d1 = new Date().getTime(); var d2 = new Date().getTime(); while( d2 < d1+1000*T ){ d2=new Date().getTime(); } return; }; </script> プログレスバーの進捗を更新する度に、画面にその内容を反映するにはどのようにしたらよいのでしょうか。

  • FORTRAN でプログレスバーを作る

    FORTRAN でプログレスバーを作るやりかたってありますか? ある繰り返しのループがあって,画面にプログレスバーを表示させていんです. FORTRANでこういうのってできます?

  • ACCESS VBA でのテキスト表示

    ACCESS VBAでプログレスバーのダイアログ表示をしています。 プログレスバーの上に重ねて */*(**%) のような表示を行いたいのですが、どのようにしたらよいかわかりません。 テキストボックスがどうしても全面表示にならないのです。 ちなみにEXCELではラベルを使って同じことができていました。 よろしくお願い致します。

専門家に質問してみよう