投稿日 | : 2007/03/20(Tue) 13:33 |
投稿者 | : べた |
Eメール | : |
URL | : |
タイトル | : テキストボックへの表示について |
ファイルから読み込んだデータをDBに反映しています。
プログレスバーで進捗状況を表示し、テキストボックスに
処理結果を表示しています。
この処理結果ですが、処理が完全に終了した後でしか、
テキストボックスに表示されません。
ファイルから読み込んだレコード毎の処理が終わる毎に、
テキストボックスに表示したいのですが、テキストボックス
の内容を更新したいのですが、どうすればよいのですか。
また、これを行った場合、その表示のために処理は遅くなる
のでしょうか。
/*----------------------------------------------*/
Private Sub Command2_Click()
Dim FN As String
Dim buff As String
Dim ErrMsg As String
Dim rFileNo As Integer
Dim fnr As Long
Dim lngLen As Long
On Error Resume Next
CommonDialog1.CancelError = True
CommonDialog1.Filter = "CSV(*.csv)|*.csv"
CommonDialog1.InitDir = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
CommonDialog1.ShowOpen
If Err.Number = cdlCancel Then
Exit Sub
End If
FN = CommonDialog1.FileName
If FN = "" Then
Exit Sub
End If
ProgressBar1.Max = FileLen(FN)
ProgressBar1.Visible = True
rFileNo = FreeFile
Open FN For Input As #rFileNo
fnr = 0
Do While Not EOF(rFileNo)
Line Input #rFileNo, buff
lngLen = lngLen + LenB(StrConv(buff, vbFromUnicode)) + Len(vbNewLine)
ProgressBar1.Value = lngLen
fnr = fnr + 1
Call FunDBUpdate(buff, ErrMsg)
Text1.Text = Text1.Text & Format(fnr, "@@@@") & " 行目:" & ErrMsg & Chr(13) & Chr(10)
Loop
Close #rFileNo
ProgressBar1.Visible = False
End Sub