以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请教选择多行后,在调用它的表上同时增加选择的多行错误  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=41304)

--  作者:vlladz
--  发布时间: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)

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

谢了!


--  作者:狐狸爸爸
--  发布时间: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
--  发布时间: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
\' 关联明细表代码


--  作者:狐狸爸爸
--  发布时间: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
--  发布时间:2013/10/16 13:59:00
--  

解决了谢谢