以文本方式查看主题 - 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()) |
-- 作者: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 |
-- 作者: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编辑过]
|