Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:关于窗口中的表用数据填充器时过滤条件设定问题。

1楼
yankunhao 发表于:2011/1/22 16:04:00

我设计了一个窗口,打开窗中有个表,且这个表有复选显示的,我想将这个表中已经复选了的数据填充到另一个表中,请问其Filler
的过滤条件如何设定呢?

我现在用下面的代码不行的

 

 For Each r1 As Row In Tables("ERP订单查询_Table1").GetCheckedRows
            Dim f As New Filler
            f.SourceTable = DataTables("ERP订单查询_Table1") '指定数据来源
            f.SourceCols = "料品名称" '指定数据来源列
            f.DataTable = DataTables("订单需求情况录入表") '指定数据接收表
            f.DataCols = "成品名称" '指定数据接收列
            f.Distinct =True
            f.Append=False
           
            f.Fill() '填充
        Next

2楼
狐狸爸爸 发表于:2011/1/22 16:11:00
呵呵, 这个代码你写得有点离谱,Fill是批量填充数据的,不适合这种情况使用。

应该:

For Each r1 As Row In Tables("ERP订单查询_Table1").GetCheckedRows
      Dim r2 As Row  = Tables("订单需求情况录入表").AddNew()
      r2(“成品名称”) = r1("材料名称")
Next
3楼
yankunhao 发表于:2011/1/22 16:35:00
以下是引用狐狸爸爸在2011-1-22 16:11:00的发言:
呵呵, 这个代码你写得有点离谱,Fill是批量填充数据的,不适合这种情况使用。

应该:

For Each r1 As Row In Tables("ERP订单查询_Table1").GetCheckedRows
      Dim r2 As Row  = Tables("订单需求情况录入表").AddNew()
      r2(“成品名称”) = r1("材料名称")
Next

我个这明白,但想用FILL的方法加上过滤条件,Fill不是有过滤的吗?因为Filler有这个Distinct

逻辑型,是否排除重复内容,默认为True;如果设为False,将不会排除重复内容,也不会排除已有内容和空白值。而我是想实现当用户选择了相关数据填充时将不重复的成品名称填充到目的表中,你上面的代码是所有选择的数都填充了。所以我想用FILL的方法否则只能用Addnew()的方法了。

[此贴子已经被作者于2011-1-22 16:36:36编辑过]
4楼
狐狸爸爸 发表于:2011/1/22 16:45:00

你可以自己写代码判断要添加的值是否已经存在的啊:  

 

For Each r1 As Row In Tables("ERP订单查询_Table1").GetCheckedRows

      If  DataTables("订单需求情况录入表").Find("成品名称 = '" & r1("材料名称") = & "'") Is Nothing Then
           Dim r2 As Row  = Tables("订单需求情况录入表").AddNew()
           r2(“成品名称”) = r1("材料名称")
      End If
Next

 


 

5楼
yankunhao 发表于:2011/1/22 16:51:00
以下是引用狐狸爸爸在2011-1-22 16:45:00的发言:

你可以自己写代码判断要添加的值是否已经存在的啊:  

 

For Each r1 As Row In Tables("ERP订单查询_Table1").GetCheckedRows

      If  DataTables("订单需求情况录入表").Find("成品名称 = '" & r1("材料名称") = & "'") Is Nothing Then
           Dim r2 As Row  = Tables("订单需求情况录入表").AddNew()
           r2(“成品名称”) = r1("材料名称")
      End If
Next

 


 

这个代码是不增加订单需求情况录入表中已有的成品名称吧,但我只是想控制每次增加数据时不重复增加成品名称的。

[此贴子已经被作者于2011-1-22 16:51:41编辑过]
6楼
狐狸爸爸 发表于:2011/1/22 17:24:00
Dim lst As  New List(of String)
For Each r1 As Row In Tables("ERP订单查询_Table1").GetCheckedRows
          dim v as String = r1("材料名称")
          if lst.Contains(v) = False Then
                Dim r2 As Row  = Tables("订单需求情况录入表").AddNew()
                r2(“成品名称”) = v
                lst.Add(v)
         End If
Next
7楼
yankunhao 发表于:2011/1/22 17:28:00
谢谢这个要学习下!
共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.