以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自动转换数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99992) |
||||
-- 作者:zhangning -- 发布时间:2017/5/2 14:48:00 -- 自动转换数据 “加工排产”中,如各工序的“工程名”和“调度设备”均不为空,则, 就在“设备别任务”里追加一行,并将“设备别任务”里其他列的内容从“加工排产”中引入, 在追加时,希望按设备扎堆(按设备名升序排列,同种设备,按照开始日期升序排列) 请问老师,如何达到这种效果,谢谢!
管理员 qdrA001 |
||||
-- 作者:有点蓝 -- 发布时间:2017/5/2 14:56:00 -- 关联引用参考:http://www.foxtable.com/webhelp/scr/1451.htm |
||||
-- 作者:zhangning -- 发布时间:2017/5/2 15:31:00 -- 老师,谢谢! 我写了第1序的转换,如下: Select Case e.DataCol.Name Case "第1序_工程名","第1序_调度设备" If e.DataRow.IsNull("第1序_工程名") = False AndAlso e.DataRow.IsNull("第1序_调度设备") = False Then Dim dr6 As DataRow dr6 = DataTables("设备别任务").Find("设备 = \'" & e.DataRow("第1序_调度设备") & "\'") If dr6 Is Nothing Then dr6 = DataTables("设备别任务").AddNew() dr6("设备") = e.DataRow("第1序_调度设备") dr6("指令单") = e.DataRow("指令单") dr6("部品ID") = e.DataRow("部品ID") dr6("工序") = e.DataRow("第1序_工程名") dr6("开始日期") = e.DataRow("第1序_开始日") dr6("结束日期") = e.DataRow("第1序_结束日") dr6("加工数量") = e.DataRow("第1序_投入数量") End If End If End Select 最多设置了12个工序的位置,有些产品最多是6道工序, 笨办法是按照上述代码,一直写到12道工序, 请问老师,有没有简单点的办法,谢谢!
|
||||
-- 作者:有点色 -- 发布时间:2017/5/2 16:19:00 -- If e.DataCol.name Like "*序_工程名*" OrElse e.DataCol.name Like "*序_调度设备*" Then [此贴子已经被作者于2017/5/2 16:37:25编辑过]
|
||||
-- 作者:zhangning -- 发布时间:2017/5/2 16:33:00 -- 谢谢老师 显示以下错误 .NET Framework 版本:2.0.50727.5485 Foxtable 版本:2017.3.18.1 错误所在事件:表,加工排产, DataColChanged 详细错误信息: 调用的目标发生了异常。 从字符串“AC”到类型“Integer”的转换无效。 输入字符串的格式不正确。 老师帮看看,需要改哪里呢? |
||||
-- 作者:有点色 -- 发布时间:2017/5/2 16:37:00 -- 改一下
If e.DataCol.name Like "*序_工程名*" OrElse e.DataCol.name Like "*序_调度设备*" Then |
||||
-- 作者:zhangning -- 发布时间:2017/5/2 16:49:00 -- 老师,出现了很多窗口,内容是“1” 上传不了图片,不好意思。
|
||||
-- 作者:有点色 -- 发布时间:2017/5/2 17:27:00 -- 你要学会看和理解代码。把提示代码 msgbox(idx) 删除掉 |
||||
-- 作者:zhangning -- 发布时间:2017/5/3 11:28:00 -- 按照老师说的,完美解决了,谢谢老师! 会加强学习代码知识,谢谢!
|