以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 老大,有问题指教,请指明思路! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=8142) |
||||
-- 作者:唐尸三摆手 -- 发布时间:2010/9/9 13:50:00 -- 老大,有问题指教,请指明思路!
老大,请看附件,排产优化表,从排产数据表按日期和优先级提取计划号填充到对应的加工单元列中,请教如何书写代码,已有数据为我手工填入,请指教! |
||||
-- 作者:唐尸三摆手 -- 发布时间:2010/9/9 14:13:00 -- 做了一个按钮 Dim f As New Filler
不能全部填充啊,请帮忙 |
||||
-- 作者:czy -- 发布时间:2010/9/9 15:11:00 --
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/9/9 15:12:00 -- 填充数据,并非必须要用Filler,Fiiler是机械的,只能处理简单的、排除重复的填充。
Dim Names1() As String = {"010212","010221","020222","010223","014301","014302","014303","014304","014306"} |
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/9/9 15:16:00 -- 呵呵,我马后炮了,原来C版解决了。 C版动态生成表,我的在原来的表填充,楼主自己选择。 [此贴子已经被作者于2010-9-9 15:15:58编辑过]
|
||||
-- 作者:小狐 -- 发布时间:2010/9/9 18:15:00 -- 挺复杂的,好好研究一下 |
||||
-- 作者:唐尸三摆手 -- 发布时间:2010/9/10 8:51:00 -- C版和老大的代码各有千秋的 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/9/10 8:57:00 -- 方法很多,你还可以写得更好。 我的代码再优化一下: 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 Each dc AS DataCol In DataTables("排产优化").DataCols Dim dr2 As DataRow = DataTables("排产数据").Find("排产日期 = #" & ary(0) & "# And 优先级 = \'" & ary(1) & "\' And 加工单元 = \'" & dc.Caption & "\'") If dr2 IsNot Nothing dr1(dc.name) = dr2("计划号") End If Next Next [此贴子已经被作者于2010-9-10 9:00:45编辑过]
|
||||
-- 作者:唐尸三摆手 -- 发布时间:2010/9/17 8:53:00 -- Dim Arys As List(Of String()) 上面这句我想直接改为从后台erp数据库的a1表提取数据,(而"排产数据"是内部表,结构一样的),不知能否做到 Dim cmd As New SQLCommand
为什么提示错误呢?
此主题相关图片如下:snap4.jpg [此贴子已经被作者于2010-9-17 8:55:27编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/9/17 9:12:00 -- 1、应该这样: Arys =dt.GetUniqueValues("","inputdate", "remark")
2、其实你的SQL语句已经排除重复值了,所以dt中并没有重复值了,那么直接使用dt即可,不需要再GetUniqueValues了。
For Each dr As DataRow In dt.DataRows |