If e.DataCol.Name = "A" Then '如果是已结帐列的内容变动 If e.NewValue = True Then '而且变动后的值是True(已勾选) dim y As New Filler y.SourceTable = DataTables("进货表") '指定数据来源 y.SourceCols = "ID,日期,商品名称,代码,规格,数量,单价,金额,客户" '指定数据来源列 y.DataTable = DataTables("库存表") '指定数据接收表 '将筛选出总分排名大于ComboBox1而小于ComboBox2的人员填入到表A y.DataCols = "ID,日期,商品名称,代码,规格,数量,单价,金额,客户" '指定数据接收列 y.ExcludeExistValue = true '设为True,排除接收表中已经存在的内容. y.Filter = "[A] = true" y.Fill() '填充数据 End If End If
3楼
老有所乐 发表于:2009/4/17 22:38:00
谢八婺先生,勾选复制可以,但去掉勾选不能删除已复制的那行。
4楼
八婺 发表于:2009/4/17 23:25:00
还在等你的条件呢,没有具体条件只好这样了。
If e.DataCol.Name = "A" Then '如果是已结帐列的内容变动 If e.NewValue = True Then '而且变动后的值是True(已勾选) dim y As New Filler y.SourceTable = DataTables("进货表") '指定数据来源 y.SourceCols = "ID,日期,商品名称,代码,规格,数量,单价,金额,客户" '指定数据来源列 y.DataTable = DataTables("库存表") '指定数据接收表 '将筛选出总分排名大于ComboBox1而小于ComboBox2的人员填入到表A y.DataCols = "ID,日期,商品名称,代码,规格,数量,单价,金额,客户" '指定数据接收列 y.ExcludeExistValue = true '设为True,排除接收表中已经存在的内容. y.Filter = "[A] = true" y.Fill() '填充数据 Else Dim del As String Dim r As Row = CurrentTable.Current del = "[ID] = '" & r("ID") & "' And [日期] = #" & r("日期") & "# And [商品名称] = '" & r("商品名称") & "'" del = del & " And [代码] = '" & r("代码") & "' And [数量] = " & r("数量") & " And [单价] = " & r("单价") del = del & " And [金额] = " & r("金额") & " And [客户] = '" & r("客户") & "'" DataTables("库存表").DeleteFor(del) End If End If
If e.DataCol.Name = "A" Then Dim Str As String Dim r As Row = CurrentTable.Current Dim dr,dr1 As DataRow Dim sum1,sum2 As Double Str = "[商品名称] = '" & r("商品名称") & "' And [规格] = '" & r("规格") & "'" dr = DataTables("库存表").Find(Str) sum1 = Tables("进货表").Compute("Sum(数量)", Str) sum2 = Tables("进货表").Compute("Sum(金额)", Str) If e.NewValue = True Then dim y As New Filler y.SourceTable = DataTables("进货表") y.SourceCols = "ID,日期,商品名称,代码,规格,数量,单价,金额,客户" y.DataTable = DataTables("库存表") y.DataCols = "ID,日期,商品名称,代码,规格,数量,单价,金额,客户" y.ExcludeExistValue = true y.Filter = "[A] = true" y.Fill() if dr IsNot Nothing Then dr("数量") = sum1 dr("金额") = sum2 End If Else dr1 = DataTables("进货表").Find(Str & " And [A] = true") if dr1 Is Nothing Then DataTables("库存表").DeleteFor(Str) End If End If End If