以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  窗口变量填充  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=5140)

--  作者:wqc360
--  发布时间:2009/11/25 19:10:00
--  窗口变量填充
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目3.table

怎样满足点击(产品目录表的图号列单元格),打开产品工序窗口,点击(产品工序窗口绑定表的加工提示列单元格),打开产品工艺窗口,点击(产品工艺窗口的 ‘工艺确定,准备下单’按钮),打开生产计划窗口,在此窗口录入(订单号,生产单号,计划数量,计划日期),点击(下达生产计划按钮)

1.生产计划窗口的(订单号、生产单号、计划数量和计划日期)填充到对应计划目录表填充行的对应列。

2.生产计划窗口的(订单号、生产单号、计划数量)填充到对应计划工序表填充行的对应列。

3.生产计划窗口的(订单号、生产单号、计划数量)填充到对应计划工艺表填充行的对应列。


--  作者:mr725
--  发布时间:2009/11/25 20:17:00
--  
无条件充填吗??????
--  作者:wqc360
--  发布时间:2009/11/25 20:26:00
--  
只填充该按钮条件下填充的数据行,现在是填充不重复值,其实我要求是:数据源与接收表对应列还要加上窗口变量一起比较,其中有一个不一样,认为不重复,重复不填充,而不是数据源与接收表之间判断重复。谢谢
[此贴子已经被作者于2009-11-25 20:26:24编辑过]

--  作者:wqc360
--  发布时间:2009/11/25 20:32:00
--  
没有加窗口变量时,我设置ExcludeExistValue=True/False,还是不能重复填充,要求这时应能重复填充,如加上窗口变量,再判断是否重复。
思路是:
一个产品可能有多个计划,产品基础数据是一样的,只有加上该计划的数据(即现在的窗口变量),才要求判断唯一性。
是不是有一点绕口阿。
[此贴子已经被作者于2009-11-25 20:35:03编辑过]

--  作者:wqc360
--  发布时间:2009/11/25 20:39:00
--  
其实还要加上判断来源表数据是否有空,如有空,则提示,而不填充,我怕太多坛友看太多要求就不帮我了。
此按钮整个要求在http://datasoft.com.cn/dispbbs.asp?boardid=2&Id=5133
[此贴子已经被作者于2009-11-25 20:39:33编辑过]

--  作者:mr725
--  发布时间:2009/11/25 20:43:00
--  
这样:? 其他雷同
for n as integer = 0 to tables("计划工艺").count-1
    if tables("计划工艺").rows(n)("图号") = tables("产品目录").current("图号")
        tables("计划工艺").rows(n)("订单号") = Forms("生产计划").Controls("(订单号)").text
    end if
next

--  作者:wqc360
--  发布时间:2009/11/25 20:53:00
--  
加在哪里?
Dim Values As String() = {"(订单号:)","(生产单号:)","(计划数量:)","(计划日期:)"}
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("图号") & "\'")
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("图号") & "\'")
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("图号") & "\'")
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

--  作者:mr725
--  发布时间:2009/11/25 21:02:00
--  
最后面啊~ 

--  作者:wqc360
--  发布时间:2009/11/25 21:07:00
--  
提示错误,您试试好吗,谢谢
--  作者:wqc360
--  发布时间:2009/11/25 21:12:00
--  
我的思路是:
1.判断窗口变量数据无空值。(4个值已解决)
2.判断来源表数据和窗口变量对比接收表是否重复。(来源表只取图号列,窗口按接收表对应列取,最多4列。我感觉最难搞)
3.判断来源表数据无空值。(需填充列,有空值,提示,不填充,无空值,填充)
4.填充来源表数据和窗口变量数据。(加上窗口变量,还要带上来源表的状态列条件,不知怎么搞)
for n as integer = 0 to tables("计划工艺").count-1
    if tables("计划工艺").rows(n)("图号") = tables("产品目录").current("图号")
        tables("计划工艺").rows(n)("订单号") = Forms("生产计划").Controls("(订单号)").text
    end if
next

你这个是满足哪一个的,是判断还是填充
[此贴子已经被作者于2009-11-25 21:20:19编辑过]