因為工作的原因。很多東西都找不道了。臨時做了一個 ,請參考 Option ExplicitPrivate Rs As New ADODB.Recordset Private Conn As New ADODB.Connection Private Sub Command1_Click() Dim i As Integer: i = 0
If Rs.State <> adStateClosed Then Rs.Close Rs.Open "Select * from People", Conn, adOpenStatic, adLockOptimistic
With Me.MSFlexGrid1 Do While Not Rs.EOF i = i + 1 Rs.MoveNext Loop End With
Rs.MoveFirst Me.ProgressBar1.Max = i Me.ProgressBar1.Min = 0 Me.ProgressBar1.Value = 0
Do While Not Rs.EOF DoEvents With Me.MSFlexGrid1 .Row = .Rows - 1 .Col = 0 .Text = Rs("Name") .Col = 1 .Text = Rs("Sex") .Rows = .Rows + 1 End With Me.ProgressBar1.Value = Me.ProgressBar1.Value + 1 Rs.MoveNext Loop
Me.ProgressBar1.Visible = False
End Sub Private Sub Form_Load() Dim strConn As String strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Test.mdb;Persist Security Info=False" Conn.CursorLocation = adUseClient
Conn.Open strConn End SubPrivate Sub Form_Unload(Cancel As Integer) If Rs.State <> adStateClosed Then Rs.Close Set Rs = Nothing
設進度條的最大值(在函數中),在進度條等于最大值后再hide進度窗口,緊
跟后面show你想要顯示的窗口!(如果你想要有關的函數我再send 給你)
Option ExplicitPrivate Rs As New ADODB.Recordset
Private Conn As New ADODB.Connection
Private Sub Command1_Click()
Dim i As Integer: i = 0
If Rs.State <> adStateClosed Then Rs.Close
Rs.Open "Select * from People", Conn, adOpenStatic, adLockOptimistic
With Me.MSFlexGrid1
Do While Not Rs.EOF
i = i + 1
Rs.MoveNext
Loop
End With
Rs.MoveFirst
Me.ProgressBar1.Max = i
Me.ProgressBar1.Min = 0
Me.ProgressBar1.Value = 0
Do While Not Rs.EOF
DoEvents
With Me.MSFlexGrid1
.Row = .Rows - 1
.Col = 0
.Text = Rs("Name")
.Col = 1
.Text = Rs("Sex")
.Rows = .Rows + 1
End With
Me.ProgressBar1.Value = Me.ProgressBar1.Value + 1
Rs.MoveNext
Loop
Me.ProgressBar1.Visible = False
End Sub
Private Sub Form_Load()
Dim strConn As String
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Test.mdb;Persist Security Info=False"
Conn.CursorLocation = adUseClient
Conn.Open strConn
End SubPrivate Sub Form_Unload(Cancel As Integer)
If Rs.State <> adStateClosed Then Rs.Close
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
End Sub
如此关照
虽然早已经完成
在窗体(设为form1)加载前先加载并显示一个窗体专用于显示进度条(设为frmProg)并设为在前端显示,进度条可以用timer,至于这个进度条怎么显示进度,可是做个假的进度条,form1 没加载完进度条也就不走完。这样应该可以吧?
加载了frmprog之后程序会继续加载你要加载的窗体,在form1的load 事件里的最后一句写上unload frmprog
就OK了!