以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  导入订单明细自动过滤已经导入的项  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=95871)

--  作者:luckbetter333
--  发布时间:2017/2/7 16:02:00
--  导入订单明细自动过滤已经导入的项
如题,做了个导入订单窗口,从订单明细表中导入到生产计划明细表,加了个checkbox,希望过滤已经导入的项,请问代码如何写?想在下面的代码基础上改。

Dim ydr As WinForm.CheckBox = forms("导入订单").Controls("已导入")

 

If ydr.Checked = False Then

    Tables("导入订单_订单明细表").Filter = "销售合同编码 = \'" & Tables("导入订单_订单表").Current("销售合同编码") & "\'"


End If


--  作者:有点色
--  发布时间:2017/2/7 16:05:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/0680.htm

 

http://www.foxtable.com/webhelp/scr/1533.htm

 

http://www.foxtable.com/webhelp/scr/2137.htm

 


--  作者:luckbetter333
--  发布时间:2017/2/8 10:29:00
--  
Dim Vals As List(of String())
Vals = DataTables("来源表").GetValues("产品|客户")
For 
i As Integer = 0 To Vals.Count - 1
    Dim 
dr As DataRow = DataTables("接收表").AddNew()
    dr(
"产品") = Vals(i)(0)
    dr(
"客户") = Vals(i)(1)
Next
基于上面的代码研究好久,还是没能把 Tables("导入订单_订单明细表").Filter = "销售合同编码 = \'" & Tables("导入订单_订单表").Current("销售合同编码") & "\'"这个筛选和上面的代码结合到一起使用,现在能筛选不重复的值了,但是没法筛选我选中的销售合同编码了,麻烦大神帮忙做一下。图片点击可在新窗口打开查看

--  作者:有点色
--  发布时间:2017/2/8 10:30:00
--  

比如代码

 

Dim Vals As List(of String())
Vals = DataTables("来源表").GetValues("产品|客户", Tables("导入订单_订单明细表").Filter)
For i As Integer = 0 To Vals.Count - 1
    Dim dr As DataRow = DataTables("接收表").AddNew()
    dr("产品") = Vals(i)(0)
    dr("客户") = Vals(i)(1)
Next


--  作者:luckbetter333
--  发布时间:2017/2/8 10:53:00
--  
还是所有的明细都出来,不能筛选选中的销售合同编码
--  作者:有点色
--  发布时间:2017/2/8 10:55:00
--  
 你是如何选中的?用什么方式选中?
--  作者:有点色
--  发布时间:2017/2/8 10:59:00
--  

这个意思?

 

For Each r As Row In Tables("表A").GetCheckedRows
    Dim dr As DataRow = DataTables("接收表").AddNew()
    dr("产品") = r("产品")
    dr("客户") = r("编号")
Next


--  作者:luckbetter333
--  发布时间:2017/2/8 11:04:00
--  
Tables("导入订单_订单明细表").Filter = "销售合同编码 = \'" & Tables("导入订单_订单表").Current("销售合同编码") & "\'"
我用上面的代码实现:导入窗口中,我点订单表中的某行(代表某一个订单,可以对应订单明细表中若干产品),订单明细表就显示这一行包含的明细,可能有若干行,每行代表不同的产品。
现在的情况是,我一打开导入窗口,订单明细表把所有订单的明细都给我了,没有筛选我选中的订单。

--  作者:有点色
--  发布时间:2017/2/8 11:06:00
--  

你窗口的表,是不是副本表?

 

e.Form.Controls("Table1").Table.Filter = "销售合同编码 = \'" & Tables("导入订单_订单表").Current("销售合同编码") & "\'"


--  作者:luckbetter333
--  发布时间:2017/2/8 11:19:00
--  
我就是根据这个例子改的啊,你帮忙看看吧。这个是没改过的文件。他筛选是根据是否为0值。我想筛选的条件是已经选过的明细过滤掉。
[此贴子已经被作者于2017/2/8 11:29:19编辑过]