Foxtable(狐表)用户栏目专家坐堂 → [求助]优化表复制(已解决)


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

主题:[求助]优化表复制(已解决)

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助]优化表复制(已解决)  发帖心情 Post By:2014/9/24 15:10:00 [只看该作者]

效果:根据选择工时(延时)和数量(次数)自动将B表的数据复制到C表。
问题:由于通过System.Threading.Thread.Sleep来实现延时功能,使运行过程如同死机,不能实时显示Label1的变化过程。
求助:实时反映Label1的值。

开始按钮的代码:

Dim gs As String = Forms("窗口").Controls("ComboBox1").Text '工时
If gs = "" Then
    MessageBox.Show("请选择工时!","提示")
    Return
End If
Dim sl As String = Forms("窗口").Controls("TextBox1").Text '数量
If sl = "" Then
    MessageBox.Show("请填写数量!","提示")
    Return
End If
Dim gs1 As Integer = CDbl(gs) * 1000
Dim sl1 As Integer = CDbl(sl) * 1000
Dim i As Integer = 0
For i = 1 To CDbl(sl)
    Dim f As New Filler
    f.SourceTable = DataTables("B") '指定数据来源
    f.SourceCols = "组别,工位,员工,工piao,工时" '指定数据来源列
    f.DataTable = DataTables("C") '指定数据接收表
    f.DataCols = "组别,工位,员工,工piao,工时" '指定数据接收列
    f.Fill() '填充数据
    '填充数量
    For Each dr As DataRow In DataTables("C").DataRows
        If dr.IsNull("计数") Then
            dr("计数") = i
        End If
    Next
    DataTables("C").Save()
    Dim lbl As WinForm.Label = e.Form.Controls("Label1")
    lbl.Text = "第 "& i &" 次"
    '延时
    System.Threading.Thread.Sleep(gs1)
Next

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




[此贴子已经被作者于2014-9-24 15:23:47编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/24 15:18:00 [只看该作者]

Dim gs As String = Forms("窗口").Controls("ComboBox1").Text '工时
If gs = "" Then
    MessageBox.Show("请选择工时!","提示")
    Return
End If
Dim sl As String = Forms("窗口").Controls("TextBox1").Text '数量
If sl = "" Then
    MessageBox.Show("请填写数量!","提示")
    Return
End If
Dim gs1 As Integer = CDbl(gs) * 1000
Dim sl1 As Integer = CDbl(sl) * 1000
Dim i As Integer = 0
For i = 1 To CDbl(sl)
    Dim f As New Filler
    f.SourceTable = DataTables("B") '指定数据来源
    f.SourceCols = "组别,工位,员工,工piao,工时" '指定数据来源列
    f.DataTable = DataTables("C") '指定数据接收表
    f.DataCols = "组别,工位,员工,工piao,工时" '指定数据接收列
    f.Fill() '填充数据
    '填充数量
    For Each dr As DataRow In DataTables("C").DataRows
        If dr.IsNull("计数") Then
            dr("计数") = i
        End If
    Next
    DataTables("C").Save()
    Dim lbl As WinForm.Label = e.Form.Controls("Label1")
    lbl.Text = "第 "& i &" 次"
    '延时
    Application.DoEvents
Next

 

http://www.foxtable.com/help/topics/1476.htm

 


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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2014/9/24 15:23:00 [只看该作者]

谢谢甜老师,问题解决了。

 回到顶部