Foxtable(狐表)用户栏目专家坐堂 → 请教选择多行后,在调用它的表上同时增加选择的多行错误


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

主题:请教选择多行后,在调用它的表上同时增加选择的多行错误

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


加好友 发短信
等级:婴狐 帖子:67 积分:628 威望:0 精华:0 注册:2011/12/25 23:25:00
请教选择多行后,在调用它的表上同时增加选择的多行错误  发帖心情 Post By:2013/10/16 11:40:00 [只看该作者]

请教选择多行后,在调用它的表上同时增加选择的多行错误

 
图片点击可在新窗口打开查看此主题相关图片如下:33.jpg
图片点击可在新窗口打开查看


 

窗口的选择按钮代码如下:

 

Dim tbl As Table = Tables("选择产品_Table2")   ’ 定义窗口上的表
If tbl.Current IsNot Nothing Then
    Select Case Select_cping     ' 获得调用它的表名称, Select_cping     为全局变量
        Case "销售订单_table1"     ‘ 从销售订单_table1 来
            Dim sum As Integer
         ’   Tables("销售订单_Table1").Focus
            For Each dr As Row In tbl.GetCheckedRows  ' 获得已经选择的集合
            Tables("销售订单_table1").Rows.AddNew()  ' 在此表上逐行增加
                sum = sum +1
                MessageBox.Show(sum)   ' 测试执行情况
                Tables("销售订单_table1").Current("产品名称") = dr("产品名称")
                Tables("销售订单_table1").Current("型号") = dr("型号")
                Tables("销售订单_table1").Current("规格") = dr("规格")
            Next

end select

end if

 

现在的问题是:红色这行好像不会执行,在Tables("销售订单_table1)

这个表上不会增加行,只会在当前行上改变

谢了!


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/10/16 11:47:00 [只看该作者]

1、升级到最新的版本

2、代码改为:

 

Dim tbl As Table = Tables("选择产品_Table2")   ' 定义窗口上的表
If tbl.Current IsNot Nothing Then
    Select Case Select_cping     ' 获得调用它的表名称, Select_cping     为全局变量
        Case "销售订单_table1"     ' 从销售订单_table1 来
            Dim sum As Integer
            '   Tables("销售订单_Table1").Focus
            For Each dr As Row In tbl.GetCheckedRows  ' 获得已经选择的集合
                Dim r As Row = Tables("销售订单_table1").Rows.AddNew()  ' 在此表上逐行增加
                r("产品名称") = dr("产品名称")
                r("型号") = dr("型号")
                r("规格") = dr("规格")
            Next
    End Select
End If

 


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


加好友 发短信
等级:婴狐 帖子:67 积分:628 威望:0 精华:0 注册:2011/12/25 23:25:00
  发帖心情 Post By:2013/10/16 12:58:00 [只看该作者]

还是没解决,我的Tables("销售订单_table1")这个表是模拟关联表,一旦在窗口的afterload 事件上做了帅选的动作后就没法增加行了

 

' 关联明细表代码
With Tables("销售订单")
    If .Current Is Nothing Then
        t.Filter = "False"
    Else
        t.filter ="单据编号 ='" & .current("单据编号") & "'"      ' 是销售订单号='    '
    End If
End With
' 关联明细表代码


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/10/16 13:01:00 [只看该作者]

既然筛选了,你就让新增行符合筛选条件就得了:

 

Dim tbl As Table = Tables("选择产品_Table2")   ' 定义窗口上的表
If tbl.Current IsNot Nothing Then
    Select Case Select_cping     ' 获得调用它的表名称, Select_cping     为全局变量
        Case "销售订单_table1"     ' 从销售订单_table1 来
            Dim sum As Integer
            '   Tables("销售订单_Table1").Focus
            For Each dr As Row In tbl.GetCheckedRows  ' 获得已经选择的集合
                Dim r As Row = Tables("销售订单_table1").Rows.AddNew()  ' 在此表上逐行增加
                r("产品名称") = dr("产品名称")
                r("型号") = dr("型号")
                r("规格") = dr("规格")

                r("单据编号") = Tables("销售订单").Current("单据编号")
            Next
    End Select
End If


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


加好友 发短信
等级:婴狐 帖子:67 积分:628 威望:0 精华:0 注册:2011/12/25 23:25:00
  发帖心情 Post By:2013/10/16 13:59:00 [只看该作者]

解决了谢谢


 回到顶部