Foxtable(狐表)用户栏目专家坐堂 → 填充问题


  共有14098人关注过本帖树形打印复制链接

主题:填充问题

帅哥哟,离线,有人找我吗?
wqc360
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
填充问题  发帖心情 Post By:2009/11/26 9:25:00 [只看该作者]

请下载更新附件试试:比如先清空3个计划表(计划目录、计划工序、计划工艺)中数据,再下达一个图号的计划(中点击--产品目录表的图号列单元格,打开产品工序窗口,点击--产品工序窗口绑定表的加工提示列单元格,打开产品工艺窗口,点击--产品工艺窗口的 ‘工艺确定,准备下单’按钮,打开生产计划窗口,在此窗口录入‘订单号,生产单号,计划数量,计划日期’,点击-下达生产计划按钮,订单号和计划单号都为101,数量100,日期2009-11-23,点击-下达生产计划按钮,在计划3表中能找到刚下的单,紧接着下同图号的另一个订单,把订单号改成其他数据,再点按钮,本来属一个新的计划,也应该填充进去,但是结果不对,是把3表的原订单号进行修改成现在的了,原来的订单找不到了。还有,怎样如果窗口变量和图号重复时,提示本计划已下达,不能再下达。
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目3.rar


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/11/26 9:47:00 [只看该作者]

为什么一定要想着填充呢,Filler只能处理逻辑简单的批量复制数据功能。

逻辑复杂的东西,通过代码在目标表增加行,从原表对应行读取数据,写入新增行各列,不是简单得多,效率也高得多吗?
[此贴子已经被作者于2009-11-26 9:51:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wqc360
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2009/11/26 10:06:00 [只看该作者]

我想做一个较简单的生产管理项目,尽可能让使用者用鼠标或尽量少动键盘实现操作,又要避免一些失误,所以要求逻辑关系严谨。
此位置的逻辑是:从基础数据产品目录中找到要计划的产品(图号为唯一识别)再检查工序和工艺是否符合本批要求(有可能多种工艺路线,进行选择暂停/执行),确定工艺路线准备下计划;填写本计划的相关数据(即窗口4个变量)通过系统检测数据是否齐全和重复,符合要求,下单。本图号又何能重复下单,只是计划的相关数据(即窗口4个变量)不同,所以应允许图号重复。在生产的时候再调用计划3表(其实只是基础数据和业务数据的过度)中的数据进行操作。这个与仓库系统大不一样,是目前ERP生产模块的主流模式,我现在是为一个部门做的项目
[此贴子已经被作者于2009-11-26 10:55:31编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/26 10:58:00 [只看该作者]

楼主怪怪的啊~   同一个项目的控件名称在提问时也要变动, 不知为何,难为我等吗???"(订单号)" 和 "(订单号:)" 是不同的呀~~~
其实你的原代码只要加上条件就可以了,看清下面黄底的代码,需要什么条件就加上去吧!!!

Dim dd As WinForm.TextBox = Forms("生产计划").Controls("(订单号:)")

    '-------------------------------------------
For Each Va as string In Values
    with e.form
        if .Controls(va).value Is Nothing then
            MessageBox.Show(va &" 资料不全,请录入!", "提示")
        end if
    end with
Next
    Dim dr As DataRow
    dr = DataTables("计划目录").Find("[图号] = '" & currenttable.current("图号") & "' and [订单号] =  '" & dd.text & "'")
    If dr Is Nothing Then
        dim f As New Filler
        f.SourceTable = DataTables("产品目录") '指定数据来源
        f.SourceCols = "客户,机型,图号,名称,材料,重量,材料费" '指定数据来源列
        f.DataTable = DataTables("计划目录") '指定数据接收表
        f.DataCols = "客户,机型,图号,名称,材料,重量,材料费" '指定数据接收列
        f.Filter = "[图号] =  '" & currenttable.current("图号") & "'"
        f.Fill() '填充数据
    end if
    dr = DataTables("计划工序").Find("[图号] = '" & currenttable.current("图号") & "' and [订单号] =  '" & dd.text & "'")
    If dr Is Nothing Then
        dim f As New Filler
        f.SourceTable = DataTables("产品工序") '指定数据来源
        f.SourceCols = "图号,名称,序号,工作中心,加工提示,备注" '指定数据来源列
        f.DataTable = DataTables("计划工序") '指定数据接收表
        f.DataCols = "图号,名称,序号,工作中心,加工提示,备注" '指定数据接收列
        f.Filter = "[图号] =  '" & currenttable.current("图号") & "'"
        f.Fill() '填充数据
    end if
    dr = DataTables("计划工艺").Find("[图号] = '" & currenttable.current("图号") & "'and [订单号] =  '" & dd.text & "'")
    If dr Is Nothing Then
        dim f As New Filler
        f.SourceTable = DataTables("产品工艺") '指定数据来源
        f.SourceCols = "图号,名称,序号,工作中心,工艺序号,加工内容,准备工时,标准工时" '指定数据来源列
        f.DataTable = DataTables("计划工艺") '指定数据接收表
        f.DataCols = "图号,名称,序号,工作中心,工艺序号,加工内容,准备工时,标准工时" '指定数据接收列
        f.Filter = "[图号] =  '" & currenttable.current("图号") & "'"
        f.Fill() '填充数据
    end if
   
    for n as integer = 0 to tables("计划工艺").count-1
        if tables("计划工艺").rows(n)("图号") = tables("产品目录").current("图号") and tables("计划工艺").rows(n)("订单号")= ""              ' 或这样更规范:and tables("计划工艺").rows(n).isnull("订单号")  

            tables("计划工艺").rows(n)("订单号") = Forms("生产计划").Controls("(订单号:)").text
        end if
    next
[此贴子已经被作者于2009-11-26 11:25:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wqc360
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2009/11/26 11:05:00 [只看该作者]

谢谢mr725回复,不好意思,加冒号只是为了能与窗口标题一样,给你带来的不便深表歉意。您的方案我试试,再次谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/26 11:06:00 [只看该作者]

以下是引用wqc360在2009-11-26 11:05:00的发言:
谢谢mr725回复,不好意思,加冒号只是为了能与窗口标题一样,给你带来的不便深表歉意。您的方案我试试,再次谢谢

4楼代码倒数第四行修改过了~~


 回到顶部