vb MSHFLEXGRID中录入数据的速度问题

archy_cn 2012-03-11 02:06:42
'=============以下代码是用添加数据的方式把数据录入到MSHFLEXGRID中的,但运行速度好慢,比不上直接用绑定的方式执行:ms.datesource=rs 这种方式比较快,但无法跟进度条同步,请教专家,是不是下面代码有待优化或改进
With ms
ProgressBar1.Move ms.Left, ms.Top + ms.Height - 250, ms.Width, 250
ProgressBar1.Visible = True
k = 0
.Redraw = False
a$ = "|id|^药品编号|<药品名称 |^单位 |^产地 |<药品规格 |>实盘数量|>帐面数量|>盘损数量|>会员价 |>盘损金

额|>复盘数量 |^复盘|>实损数量|>实盈金额|||<盘点分析 |^上次盈亏"
.FormatString = a$
.Rows = 1
Do While Not rs.EOF
.AddItem vbTab & rs(0) & vbTab & rs(1) & vbTab & rs(2) & vbTab & rs(3) & vbTab & rs(4) & vbTab & rs(5) & vbTab & rs(6) &

vbTab & rs(7) & vbTab & rs(8) & vbTab & rs(9) & vbTab & rs(10) & vbTab & rs(11) & vbTab & rs(12) & vbTab & rs(13) & vbTab &

rs(14) & vbTab & rs(15) & vbTab & rs(16) & vbTab & rs(17) & vbTab & rs(18)
ProgressBar1.Value = Format(k / rs.RecordCount, "0.00") * 100
rs.MoveNext
k = k + 1
Loop
.Redraw = True
ProgressBar1.Visible = False
ProgressBar1.Value = 0
.FixedRows = 1
End With
...全文
110 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
饮水需思源 2012-03-11
  • 打赏
  • 举报
回复
'直接用控件绑定设置,不用进度条,增加鼠标状态
screen.mousepointer=vbhourglass
set mshflexgrid1.datasource=rs
screen.mousepointer=vbdefault
贝隆 2012-03-11
  • 打赏
  • 举报
回复
循环添加的确不如ms.datesource=rs快,如果你的数据量大,可以不用这种方式。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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