Foxtable(狐表)用户栏目专家坐堂 → [求助] 显示执行的行号


  共有2232人关注过本帖树形打印复制链接

主题:[求助] 显示执行的行号

帅哥哟,离线,有人找我吗?
2900819580
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1347 积分:9817 威望:0 精华:0 注册:2015/6/30 8:46:00
[求助] 显示执行的行号  发帖心情 Post By:2017/6/12 14:59:00 [显示全部帖子]

Dim tb As Table = Tables(e.Form.Name & "_Table1")
For i As Integer = 0  To tb.Rows.Count - 1
    Dim r As Row = tb.Rows(i)
    Dim dr As DataRow = DataTables("物料表").SQLFind("代码 = '" & R("物料代码") & "'")
   If dr IsNot Nothing Then  dr("采购负责人") = R("制单")
Next
MessageBox.Show("负责人更新完成")

如上面的代码,如果行号比较多,会给人家感觉程序死机一样。如何可以实现
执行开始时会出现一个对话框,显示执行的行号,和进度条。

[此贴子已经被作者于2017/6/12 15:16:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
2900819580
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1347 积分:9817 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2017/6/12 15:17:00 [显示全部帖子]

以下是引用有点色在2017/6/12 15:15:00的发言:
 具体你的问题。

Dim tb As Table = Tables(e.Form.Name & "_Table1")
For i As Integer = 0  To tb.Rows.Count - 1
    Dim r As Row = tb.Rows(i)
    Dim dr As DataRow = DataTables("物料表").SQLFind("代码 = '" & R("物料代码") & "'")
   If dr IsNot Nothing Then  dr("采购负责人") = R("制单")
Next
MessageBox.Show("负责人更新完成")

如上面的代码,如果行号比较多,会给人家感觉程序死机一样。如何可以实现
执行开始时会出现一个对话框,显示执行的行号,和进度条。


 回到顶部
帅哥哟,离线,有人找我吗?
2900819580
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1347 积分:9817 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2017/6/12 15:43:00 [显示全部帖子]

老师,这样子,为什么Label的内容一直不变的呢?

Forms("窗口4").open
Dim p As WinForm.ProgressBar = Forms("窗口4").Controls("ProgressBar1")
Dim la As WinForm.Label = Forms("窗口4").Controls("Label1")
p.Maximum = MainTable.Rows.Count '设置最大值
p.Minimum = 0 '设置最小值
p.Value = 0 '设置当前值
For i As Integer = 0 To MainTable.Rows.Count - 1
    'MainTable.Rows(i)("第一列") = i
    
    If i Mod 20 = 0 Then
        
        la.text = i & "/" & MainTable.Rows.Count
        p.Value = i '当前值为已经完成的行数
    End If
Next



 回到顶部
帅哥哟,离线,有人找我吗?
2900819580
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1347 积分:9817 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2017/6/12 16:00:00 [显示全部帖子]

老师增加上去了,但跟进度进度条不同步,数字早就跑完了,进度条还在跑

Forms("窗口4").open
Dim p As WinForm.ProgressBar = Forms("窗口4").Controls("ProgressBar1")
Dim la As WinForm.Label = Forms("窗口4").Controls("Label1")
p.Maximum = MainTable.Rows.Count '设置最大值
p.Minimum = 0 '设置最小值
p.Value = 0 '设置当前值
For i As Integer = 0 To MainTable.Rows.Count - 1

    Application.DoEvents()        
        la.text = i & "/" & MainTable.Rows.Count
        p.Value = i '当前值为已经完成的行数

Next
[此贴子已经被作者于2017/6/12 16:00:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
2900819580
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1347 积分:9817 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2017/6/12 19:26:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目11.table

老师,三种模式都试过了。还是不行 ,数字完成了,进度条还没走完。

[此贴子已经被作者于2017/6/12 19:26:46编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
2900819580
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1347 积分:9817 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2017/6/12 20:51:00 [显示全部帖子]

不同步,进度条大约在60%左右,数字就完成了。


 回到顶部