• ベストアンサー

Accessフォームに進行状況ダイアログを表示したい

Access2000を使用しています。 DAOでデータ引き当て処理を行なっている最中、進行状況ダイアログ を表示すれば時間の目安が付きやすいと思うのですが、やり方が分か りません。Accessでフォームに表示するのは難しいのでしょうか? ご存知の方、方法もふくめて宜しくお願いいたします。

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

  • ベストアンサー
  • yuji0401
  • ベストアンサー率9% (28/284)
回答No.4

#3です。 Call InitProgressとCall UpdateProgress(処理数/合計数)の後に、DoEventsを入れてもダメ?

Toshikazu2468
質問者

お礼

できた!ありがとうございました!あなたはスゴイ!

その他の回答 (3)

  • yuji0401
  • ベストアンサー率9% (28/284)
回答No.3

ラベルを使います。 例えば、 lblBackとlblFrontの2つのラベルがあります。 lblBackの幅を1000(width)、Colorは白に設定。 lblFrontの幅も最初はlblBackと同じにします。Colorは青。 Private Sub InitProgress lblFront.Width = 0 lblFront.Visible = True lblBack.Visible = True End Sub Private Sub UpdateProgress(Status as Double) lblFront.Width = lblBack.Width * Status DoEvents End Sub Private Sub EndProgress lblFront.Visible = False lblBack.Visible = False End Sub Private Sub Button1_Click() Call InitProgress Do '処理 Call UpdateProgress(処理数/合計数) Loop Call EndProgress End Sub 手抜きですがこんな感じですかね。 後はご自分で工夫してください。

Toshikazu2468
質問者

お礼

ありがとうございました。実行してみましたが、やり方が悪いのかDAO処理の為なのか、処理が終わってから満タンに表示されてしまいます。

noname#140971
noname#140971
回答No.2

  N = 100   Me.進行ゲージ.Max = N   Me.進行ゲージ.Value = 0   Me.進行ゲージ.Visible = True   For I = 1 To N

noname#140971
noname#140971
回答No.1

プログレスバーに進行状況を表示するサンプルコードです。 Private Sub Form_Load()   Me.進行ゲージ.Visible = False End Sub Private Sub コマンド0_Click()   Dim I As Integer   Dim N As Integer      Me.進行ゲージ.Max = 100   Me.進行ゲージ.Value = 0   Me.進行ゲージ.Visible = True   For I = 1 To 100     Me.進行ゲージ.Value = I     Pause 0.1     DoEvents   Next I   Me.進行ゲージ.Visible = False End Sub [標準モジュール] Public Sub Pause(ByVal PauseTime As Single)   Dim Finish As Single      Finish = Timer + PauseTime   Do     DoEvents   Loop Until Timer > Finish End Sub

Toshikazu2468
質問者

お礼

ありがとうございました。プログレスバーではなくフォームに表示したかったので。。 でも、やってみます!!

関連するQ&A

  • vc++2008の進行状況ダイアログ表示に関して

    現在VC++2008にて開発を行っております、C++初心者の者です。 モーダルダイアログを表示し、 そのダイアログの値を利用・表示した進行状況ダイアログを表示したいと考えています。 ・進行状況ダイアログに表示する値  現在作成ファイル数 / 総制作ファイル数  (プログレスバーの表示は考えていません。) ・現在、進行状況ダイアログはモーダレスダイアログを表示し、表示している値をforループ内で変更するような処理にしていますが、ダイアログには何も表示していません。 どのような処理にすればよろしいでしょうか。 宜しくお願いします。

  • Accessのフォームからダイアログを表示する方法

    いつもお世話になっております。 Access2003、VB6の環境でコーディングしています。 Accessのフォームでボタンが押されたら、 データ入力用のダイアログが表示されるようにしたい のですが、そのダイアログを表示させる方法が わかりません。 どうか、よろしくお願いいたします。

  • Accessフォームでレベルメーター

    Accessのフォームにボタンを作成し、クリックするとテーブルのデータをDAOで1件づつ読込んで、Excelワークシートを新規に作成し、そこに転記するVBAを作成しました。それはそれで動くのですが、レコード件数とフィールド数が多いので10分程度かかります。その間、このパソコン固まったのではないかと不安を誘います。 そこで、処理の進行に合わせて、そのフォームにレベルメータがあって棒が伸びていくとか、処理中のレコード数がどんどんカウントアップ表示されるとか、「ちゃんと動いてるぞ」みたいな表示するにはどうしたら良いのでしょうか?

  • vegas 18 進行状況ダイアログに関して

    VEGAS Pro 18.0 OS:windows11 レンダリング時に表示される進行状況ダイアログが表示されなくなりました。 つい先ほどまで表示されていましたが、なんの拍子にか突然表示されなくなり、その後パソコンの再起動、キャッシュの消去、ProgramDataにあるvegas関連のファイルの削除と本体の再インストールなどは試しましたが、解決には至りませんでした。 補足:進行状況ダイアログが表示されていなくてもレンダリング自体は正常に行われているようで、タイムライン左下の進行状況バーとプレビュー画面は進行状況に応じて動いていること、また仕上がった動画も再生可能で編集通りの仕上がりになっていることは確認済み 直前にソフトのフリーズへの対処としてタスクマネージャーからタスクの終了をしたりしましたが、それ自体は普段も頻繁にしているようなことで、これまでこのような状態になったことはありません。 誤操作で進行状況ダイアログが非表示化されてしまっているのかとも思いましたが、設定を見てみたりヘルプで検索してみたりしてもレンダリング開始時からの進行状況ダイアログの表示/非表示の項目は見つけられませんでした。 助言いただけると助かります。 ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

  • 進行状況表示のウィンドウ

    進行状況表示のウィンドウ ソフトの中である程度時間のかかる処理をしている間、ソフトが固まったように見えるのを防ぐために、進行状況を表示する小さなダイアログボックスを作ろうと思いました。 そして、新しいウィンドウを作る方法は、ダイアログのリソースを作っておいてDialogBox()関数でそれを呼び出すか、ウィンドウクラスを登録してCreateWindow()関数でウィンドウを作る方法と二通りあると思いますが、どちらが向いていますか?? 作るウィンドウには進行状況の%表示とキャンセルボタンを作るだけのモーダルなもので、「時間のかかる処理」は_beginthreadex()関数で別スレッドを立てて行う予定です。 環境は、Visual C++ 2008 のWin32アプリです。

  • ACCESS ODBC 接続ダイアログ 非表示

    お世話になります。 当方、現在ACCESSにてORACLE データベース更新用のフォームを作成しています。 このフォーム内のリストボックスのデータソースにORACLEのリンクテーブルを使用しています。 通常、これを開いたときにODBC接続用のダイアログ画面が表示されると思うのですが、 このダイアログを表示しないようにするにはどうすればよいでしょうか? フォームOPEN時にVBA内でoo4oを使用してこのDBに対して適当なSELECT文を実行するように しても表示されてしまいます。 ご存知の方がいればご教示いただきたく存じます。 何卒よろしくお願いいたします。

  • ExcelVBA 進行状況ダイアログ

    VISTA Excel2007です。 ある作業のVBAを作成して動かしています。 結構時間が掛るので進行状況をダイアログで表示をしたいのですがどうすればいいのかお教えください。

  • サーバー側の処理の進行状況を表示させる方法について

    どこで質問するべきか迷ったのですがここで質問させていただきます。 はじめて簡単なWebサービスを作っています。作っていて疑問に思ったのことがあったので質問します。 よくWebサービスでユーザーのアクションに対して「保存中です」や「処理中です」のダイアログ等で知らせたり、またその時にプログレスバーなどで処理の進行状況など表示してくれる場合もあると思います。 その実現方法についてどんな方法があるのかという質問です。 サーバー上でphpのプログラムを動かすという前提で考えています。 Ajaxで結果をそのページに表示させるという場合で考えてみました。 私が思いつく方法はユーザーのアクションがあった時に「処理中です」等のダイアログを表示させてjQueryでサーバーのphpを呼び出し、処理が終ったらダイアログを閉じて、結果を表示させるという方法です。 初歩的なことであれですが、そもそもphpの処理が終るのが長い時、jQueryはphpの処理がちゃんと終わってから結果を受け取るのでしょうか? 問題はどうやってphpの進行状態をどうやって受け取るかということだと思うのですが、この実現方法は可能で正しいですか? また、進行状況を表示(現在何%くらいの処理なのか等)プログレスバーで表示させる場合の実現方法が思いつきませんでした。 こちらも呼び出したphpの状況をどうやって受け取るかということだと思うのですが、phpが処理の途中で別ファイルに状況を書き出してそれを一定間隔でjavaScriptが調べにアクセスするとかですか?確実に違うと思いますが。 わかる方回答よろしくお願いします。

  • Accessで進行状況インジケーターの表示だけ止めたい

    Accessで進行状況インジケーターの表示だけ止めたい VBAで、Syscmdなどの命令を使って、左下のインジケーター部に 進行状況を表示していますが、マクロ動作により、次のクエリが 動いているときには「クエリを実行しています■■」のような 表示になってしまいます。 Syscmdコマンドを使用した直後に、インジケータ部の表示だけ ロックして、次のメッセージを表示させたい時点でリフレッシュ するようなことは可能でしょうか。 Application.Echo falseは試してみましたが、ウィンドゥ内の 表示がロックするだけで、インジケーターはうまくロックしない ようでした。(ステップ実行で確認。) 対処方法をご存知の方、ご教示よろしくお願いいたします。

  • ACCESS フォームの表示

    ACCESSでフォームにクエリを付けて記入してます。 そのフォームは、顧客名簿の様な物です。 クエリには顧客名簿一覧と書類提出日を連結させてます。 他にも同様のフォームがありますが、そのフォームには一度入力したデータがフォームを開くと反映されてますが、 今回作ったフォームには記入したデータが反映されません。 フォーム上で右クリック⇒フィルタの削除 を選択すると入力したデータが表示されます。 しかし、一度閉じるとまた何も表示されていない状態です。 このフォームには、何故データが表示されないのでしょうか?? ご存知の方。よろしくお願いいたします。

専門家に質問してみよう