Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
下载信息 [文件大小: 下载次数: ] | |
![]() |
老大,请看附件,排产优化表,从排产数据表按日期和优先级提取计划号填充到对应的加工单元列中,请教如何书写代码,已有数据为我手工填入,请指教!
做了一个按钮
Dim f As New Filler
f.SourceTable = DataTables("排产数据") '指定数据来源
f.SourceCols = "排产日期,优先级,计划号" '指定数据来源列
f.datatable = DataTables("排产优化") '指定数据接收表
f.DataCols = "排产日期,优先级,加工单元A" '指定数据接收列
f.Filter="加工单元='010212'"
f.ExcludeNullValue=True
f.Fill() '填充数据
不能全部填充啊,请帮忙
下载信息 [文件大小: 下载次数: ] | |
![]() |
填充数据,并非必须要用Filler,Fiiler是机械的,只能处理简单的、排除重复的填充。
Dim Names1() As String = {"010212","010221","020222","010223","014301","014302","014303","014304","014306"}
Dim Names2() As String = {"A","B","C","D","E","F","G","H","I"}
Dim Arys As List(Of String())
arys = DataTables("排产数据").GetUniqueValues("", "排产日期", "优先级")
For Each ary As String() In Arys
Dim dr1 As DataRow = DataTables("排产优化").AddNew()
dr1("排产日期") = ary(0)
dr1("优先级") = ary(1)
For n As Integer = 0 To Names1.Length - 1
Dim dr2 As DataRow = DataTables("排产数据").Find("排产日期 = #" & ary(0) & "# And 优先级 = '" & ary(1) & "' And 加工单元 = '" & Names1(n) & "'")
If dr2 IsNot Nothing
dr1("加工单元" & Names2(n)) = dr2("计划号")
End If
Next
Next
呵呵,我马后炮了,原来C版解决了。
C版动态生成表,我的在原来的表填充,楼主自己选择。
挺复杂的,好好研究一下
Dim Arys As List(Of String())
arys = DataTables("排产数据").GetUniqueValues("", "排产日期", "优先级")
上面这句我想直接改为从后台erp数据库的a1表提取数据,(而"排产数据"是内部表,结构一样的),不知能否做到
Dim cmd As New SQLCommand
Dim dt As datatable
cmd.C
cmd.CommandText = "select distinct inputdate,remark From a1"
dt = cmd.ExecuteReader()
Dim Arys As List(Of String())
Arys =DataTables(dt).GetUniqueValues("","inputdate", "remark")
为什么提示错误呢?
1、应该这样:
Arys =dt.GetUniqueValues("","inputdate", "remark")
2、其实你的SQL语句已经排除重复值了,所以dt中并没有重复值了,那么直接使用dt即可,不需要再GetUniqueValues了。
For Each dr As DataRow In dt.DataRows
Dim dr1 As DataRow = DataTables("排产优化").AddNew()
dr1("排产日期") = dr("排产日期")
dr1("优先级") = dr("优先级")
For Each dc AS DataCol In DataTables("排产优化").DataCols
Dim dr2 As DataRow = DataTables("排产数据").Find("排产日期 = #" & dr("排产日期") & "# And 优先级 = '" & dr("优先级") & "' And 加工单元 = '" & dc.Caption & "'")
If dr2 IsNot Nothing
dr1(dc.name) = dr2("计划号")
End If
Next
Next