Foxtable(狐表)用户栏目专家坐堂 → [求助]CheckedComBoBox控件应用(已解决)


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

主题:[求助]CheckedComBoBox控件应用(已解决)

帅哥哟,离线,有人找我吗?
大红袍
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/7 11:02:00 [只看该作者]

Tables("扎包数据2").Filter = ""

For i As Integer = 1 To Tables("扎包数据2").Rows.Count -1
    Dim xlfd As Double = Rand.Next(94,106) / 100 '效率浮动
    Dim bcfd As Integer = Rand.Next(2,6) '拔插卡浮动秒时
    Dim p1 As Row = Tables("扎包数据2").Rows(i-1) '上一行
    Dim p2 As Row = Tables("扎包数据2").Rows(i) '当前行
    If i = 1 Then
        p1("插卡时间") = dr("插卡时间")
        p1("拔卡时间") = p1("插卡时间").AddSeconds(gwbzms * p1("产量") * xlfd)
        p2("插卡时间") = p1("拔卡时间").AddSeconds(bcfd)
        p2("拔卡时间") = p2("插卡时间").AddSeconds(gwbzms * p2("产量") * xlfd)
    Else
        p2("插卡时间") = p1("拔卡时间").AddSeconds(bcfd)
        p2("拔卡时间") = p2("插卡时间").AddSeconds(gwbzms * p2("产量") * xlfd)
    End If
Next


Dim ccbx As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
Tables("扎包数据2").Filter = "节拍号 in ('" & ccbx.Text.Replace(",", "','") & "')"

For i As Integer = 1 To Tables("扎包数据2").Rows.Count -1
    Dim xlfd As Double = Rand.Next(94,106) / 100 '效率浮动
    Dim bcfd As Integer = Rand.Next(2,6) '拔插卡浮动秒时
    Dim p1 As Row = Tables("扎包数据2").Rows(i-1) '上一行
    Dim p2 As Row = Tables("扎包数据2").Rows(i) '当前行
    If i = 1 Then
        p1("插卡时间") = dr("插卡时间")
        p1("拔卡时间") = p1("插卡时间").AddSeconds((gwbzms + zjsj) * p1("产量") * xlfd) 'gwbzms = 工位标准秒时,zjsj = 增加时间
        p2("插卡时间") = p1("拔卡时间").AddSeconds(bcfd)
        p2("拔卡时间") = p2("插卡时间").AddSeconds((gwbzms + zjsj) * p2("产量") * xlfd)
    Else
        p2("插卡时间") = p1("拔卡时间").AddSeconds(bcfd)
        p2("拔卡时间") = p2("插卡时间").AddSeconds((gwbzms + zjsj) * p2("产量") * xlfd)
    End If
Next

Tables("扎包数据2").Filter = ""


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


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

怪我粗心,没有仔细看代码。谢谢大红袍老师,问题解决,完全符合要求的效果,再次衷心感谢!!

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


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

只用7楼代码 选择节拍序号为001的数据没有增加拔卡时间,其他正常。
如果用11楼的代码替换7楼代码,数据出现负值。
请问大红袍老师:11楼的代码如何使用,请赐教,谢谢!!

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/7 15:04:00 [只看该作者]

以下是引用yyzlxc在2016/4/7 15:00:00的发言:
只用7楼代码 选择节拍序号为001的数据没有增加拔卡时间,其他正常。
 

 

第一行的时候,如何计算?逻辑是什么?你计算的时候要两行的啊。


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


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

当节拍序号为001时,p1("拔卡时间") = p1("插卡时间") + (gwbzms + zjsj) * p1("产量")



Dim ccbx As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
Dim ary() As String = ccbx.text.Split(",")
For i As Integer = 1 To Tables("扎包数据2").Rows.Count -1
    Dim xlfd As Double = Rand.Next(94,106) / 100 '效率浮动
    Dim bcfd As Integer = Rand.Next(2,6) '拔插卡浮动秒时
    Dim p1 As Row = Tables("扎包数据2").Rows(i-1) '上一行
    Dim p2 As Row = Tables("扎包数据2").Rows(i) '当前行
    If array.IndexOf(ary, p2("节拍序号")) >= 0 Then
        If i = 1 Then
            p1("插卡时间") = dr("插卡时间")
            p1("拔卡时间") = p1("插卡时间").AddSeconds((gwbzms + zjsj) * p1("产量") 
            p2("插卡时间") = p1("拔卡时间").AddSeconds(bcfd)
            p2("拔卡时间") = p2("插卡时间").AddSeconds((gwbzms + zjsj) * p2("产量") * xlfd)
        Else
            p2("插卡时间") = p1("拔卡时间").AddSeconds(bcfd)
            p2("拔卡时间") = p2("插卡时间").AddSeconds((gwbzms + zjsj) * p2("产量") * xlfd)
        End If
    Else
        If i = 1 Then
            p1("插卡时间") = dr("插卡时间")
            p1("拔卡时间") = p1("插卡时间").AddSeconds(gwbzms * p1("产量") * xlfd)
            p2("插卡时间") = p1("拔卡时间").AddSeconds(bcfd)
            p2("拔卡时间") = p2("插卡时间").AddSeconds(gwbzms * p2("产量") * xlfd)
        Else
            p2("插卡时间") = p1("拔卡时间").AddSeconds(bcfd)
            p2("拔卡时间") = p2("插卡时间").AddSeconds(gwbzms * p2("产量") * xlfd)
        End If
    End If
Next


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/7 15:23:00 [只看该作者]

Dim ccbx As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
Dim ary() As String = ccbx.text.Split(",")
For i As Integer = 0 To Tables("扎包数据2").Rows.Count -1
    Dim xlfd As Double = Rand.Next(94,106) / 100 '效率浮动
    Dim bcfd As Integer = Rand.Next(2,6) '拔插卡浮动秒时
    If i = 0 Then
        Dim p1 As Row = Tables("扎包数据2").Rows(i)
        If array.IndexOf(ary, p1("节拍序号")) >= 0 Then
            p1("插卡时间") = dr("插卡时间")
            p1("拔卡时间") = p1("插卡时间").AddSeconds((gwbzms + zjsj) * p1("产量")
        Else
            p1("插卡时间") = dr("插卡时间")
            p1("拔卡时间") = p1("插卡时间").AddSeconds(gwbzms * p1("产量") * xlfd)
        End If
    Else
        Dim p1 As Row = Tables("扎包数据2").Rows(i-1) '上一行
        Dim p2 As Row = Tables("扎包数据2").Rows(i) '当前行
        If array.IndexOf(ary, p2("节拍序号")) >= 0 Then
           
            p2("插卡时间") = p1("拔卡时间").AddSeconds(bcfd)
            p2("拔卡时间") = p2("插卡时间").AddSeconds((gwbzms + zjsj) * p2("产量") * xlfd)
           
        Else
           
            p2("插卡时间") = p1("拔卡时间").AddSeconds(bcfd)
            p2("拔卡时间") = p2("插卡时间").AddSeconds(gwbzms * p2("产量") * xlfd)
        End If
    End If
Next

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


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

可以了,代码完美,谢谢大红袍老师!!

 回到顶部
总数 17 上一页 1 2