数据库查寻很慢的问题.

XinJW 2008-02-12 04:45:39
现在有一问题,就是窗体启动时就读取数据库,现在数据多了,查寻也就很慢了,如何实现先出现一lable显示数据查寻中,当数据库全部列出之后就消失.

If rsSearch.EOF = False Then
PanelReadDatabase.Visible = True

For ncntr = 1 To rsSearch.RecordCount
lstCustom.AddItem rsSearch.Fields("CustomNO")
rsSearch.MoveNext
Next
End If


PanelReadDatabase.Visible = False

这样为什么不行呢.跟本就不显示,如果在PanelReadDatabase.Visible = True之后加一个msgbox 的话就显示,然后点确定后,后面也执行,请问这是什么问题,当然程序中肯定不能加msgbox.
...全文
85 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ankeyfu 2008-02-13
  • 打赏
  • 举报
回复
問題在於當加載大量數據時窗體的控件還來不及重繪.所以顯示出來也是看不到的.你可以這樣:


If rsSearch.EOF = False Then
PanelReadDatabase.Visible = True
Me.Refresh '加上這一句
For ncntr = 1 To rsSearch.RecordCount
lstCustom.AddItem rsSearch.Fields("CustomNO")
rsSearch.MoveNext
Next
End If



也可以這樣:


If rsSearch.EOF = False Then
PanelReadDatabase.Visible = True
DoEvents '加上這一句
For ncntr = 1 To rsSearch.RecordCount
lstCustom.AddItem rsSearch.Fields("CustomNO")
rsSearch.MoveNext
Next
End If

lpb830820 2008-02-12
  • 打赏
  • 举报
回复
你的窗体还在 Load 不算加载完成所以窗体不会显示,自然标签 PanelReadDatabase 也就是显示了。

你可以在 Form_Load 事件的开头就写 Me.Show ,让窗体先显示,不过这种写法只有非模态窗体才可以这样做。

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧