*

Access VBA 処理の進行状況を表示するプログレスバー(ProgressBar)

公開日: : 最終更新日:2014/04/09 その他

処理の進行状況を表示するプログレスバー

Accessで処理に時間のかかるプログラムを実行している際に使用しているユーザーに進行状況を分かりやすくする必要があります。
こういった時の為にAccessには長い処理をインジゲーターとして表示する「プログレスバー」が用意されています。今回はこのプログレスバーの使用方法とプログラムコードを説明します。

prg01

スポンサーリンク

プログレスバーの設置

プログレスバーコントロールの作成方法を説明します。
プログレスバー用のフォームを作成します。
1.フォームを用意します。フォームの名前は「F_プログレスバーコントロール」とします。
2.コマンドボタンをひとつ設置します。
3.デザインビューでツールボックスを表示し、「コントロールの選択」をクリックします。(カナヅチのアイコン)

prg02
4.「コントロールの選択」をクリックすると選択出来るコントロールの一覧が表示されますので、この中から「Microsoft ProgressBar Control」を探しクリックします。

prg03

5.クリックしたら、そのままフォーム上にカーソルを移動し再度クリックします。クリックするとフォーム上にプログレスバーコントロールが設置されます。

prg04

6.設置したプログレスバーコントロール上で右クリックを行い、「プロパティ」を選択しプログレスバーコントロールの名前を変更しておきます。今回は「Progbar」とします。

prg05

テーブルの準備

続いてデータ格納用のテーブルを用意します。
処理用のデータなのでどんなテーブルでも構いません。
今回はフィールドを「data」として1~10000までの値を入力しました。
またテーブル名は「T_プログレスバー」とします。

prg06

プログラムコードの作成

プログラムはコマンドボタンの「クリック時」に記述します。

Private Sub コマンド0_Click()

Dim CN As ADODB.Connection
Dim RS As ADODB.Recordset
Dim i, j As Integer

Set CN = CurrentProject.Connection
Set RS = New ADODB.Recordset

RS.Open “T_プログレスバー”, CN, adOpenStatic, adLockOptimistic

i = RS.RecordCount
j = 1

Do Until RS.EOF

Progbar.Value = j / i * 100

j = j + 1

RS.MoveNext
Loop

MsgBox “処理が完了しました。”, vbInformation, “処理完了”

Progbar.Value = 0

End Sub

プログラムの説明

プログレスバーの値は「Progbar.Value」で設定します。
今回は最小値を「0」最大値を「100」のプログレスバーを作成しますので、最大値「100」に対する進行状況の値をプログレスバーに設定することになります。

【i = RS.RecordCount】
変数「i」にテーブル「T_プログレスバー」のレコードカウントを設定します。(今回は10000)
この10000に対しての進行状況を表示させます。

【j = 1】
変数「j」に初期値として「1」を設定します。
変数「j」は現在処理しているレコード番号を意味します。

【Progbar.Value = j / i * 100】
プログレスバーの値を設定します。
現在のレコード番号をレコード件数で割った値に100を掛け算します。
レコード番号1の場合だと、1/10000*100=0.01です。

【j = j + 1】
1レコード処理する度に変数「j」に1をプラスします。
次のレコード数という意味です。
最終的に「j / i * 100」が「10000/10000*100=100」になればプログレスバーの最大値になる計算です。

以上で完成です。
プログラムを実行し、プログレスバーが最大値まで動けば成功です。

prg07

You Tubeにて動画を公開しています。

スポンサーリンク

ad-pc

ad-pc

関連記事

sound01

Access VBA 音を鳴らす PlaySound

音を鳴らす PlaySound Access上で効果音を鳴らすプログラムコードを説明します。 P

記事を読む

san01

Access VBA Shiftキーの有効/無効

Shiftキーの有効/無効 Shiftキーを押しながらAccessで作成したデータベースを起動する

記事を読む

shell01

Access VBA 他のアプリケーションを開く

Accessから他のアプリケーションを開く Accessから他のアプリケーションを開くプログラム例

記事を読む

moff

Access VBA メニューバーの表示・非表示

メニューバーの表示・非表示をコントロール Accessのメニューバーの表示/非表示をコントロールす

記事を読む

cal01

Access VBA カレンダーコントロールを使用して日付入力を行う

カレンダーコントロールを使用して日付入力を行う 日付入力を実施する際に使用するユーザーに「2014

記事を読む

excel03

Access VBA AccessのデータをExcel(エクセル)へ変換

AccessのデータをExcel(エクセル)へ変換 Accessで使用しているデータをExcel(

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

転職01
初心者がAccess VBAの仕事に就く為には

初心者がAccess VBAを使った仕事に就く 私はSEやITエンジ

sound01
Access VBA 音を鳴らす PlaySound

音を鳴らす PlaySound Access上で効果音を鳴らすプログ

pass01
Access VBA フォームをパスワードで制限

フォームをパスワードで制限 Accessで作成したデータベース使用時

prg01
Access VBA 処理の進行状況を表示するプログレスバー(ProgressBar)

処理の進行状況を表示するプログレスバー Accessで処理に時間のか

excel03
Access VBA AccessのデータをExcel(エクセル)へ変換

AccessのデータをExcel(エクセル)へ変換 Accessで使

→もっと見る

PAGE TOP ↑