3

Access に一連のテキスト ファイルをインポートするプロセスを実行する Access アプリケーションで作業しており、このプロセスの進行状況メーターを表示したいと考えています。

簡単なプログレス バーを作成しました。5 つの四角形とテキスト ボックスを含むフォームがあります。テキスト ファイルの 5 分の 1 のインポートが完了すると、テキスト ボックスに「インポートされたファイルの 20%」と表示され、四角形の 1 つが表示されます。2 番目の 5 番目が終了すると、再び更新されます。

私が直面している問題は、フォームが 60% と 100% でしか更新されないことです。他の増分のコードは機能しますが、フォームは更新されていません。次のようなVBAステートメントを実行すると、

Forms("ImportingData")!Box1.Visible = True

スクリプトは、実行を継続する前に、ボックスが画面に表示されるまで実際には一時停止しません。プロパティを内部的に変更するだけです。経由で1秒間一時停止することで、これを修正しようとしました

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


Sub UpdateStatusForm(fifth As Integer)

    If fifth = 1 Then
        Forms("ImportingData")!PctComp.Caption = "20 percent of txt files imported"
        Forms("ImportingData")!Box1.Visible = True
    ElseIf fifth = 2 Then ...
    Sleep(1000)
End Sub

しかし、それはうまくいきませんでした。他の提案はありますか?

ありがとう!

4

1 に答える 1

2

DoEventsを見てください。プロセスの実行中にGUIを更新する場合に適したオプション

于 2012-12-11T18:45:38.823 に答える