读书人

PB中Datawindow里字段内容过滤有关问题

发布时间: 2013-03-01 18:33:02 作者: rapoo

PB中Datawindow里字段内容过滤问题?
各位大侠:
现在工厂生产部车间有以下几个表:
工序有两个表,一个父工序表,一个子工序表。
而记录生产详细情况有:生产记录表

父工序表:
ProcessID ProcessName
A     单个制作
  B      组装
 .... ....

子工序表:
ChildID   ChildName  ParentID
 A01    简单单个    A
A02    中等单个    A
A03    难度单个    A
A04    高难单个    A
B01    简单组装    B
B02    中等组装    B
B03    难度组装    B
B04    高难组装    B
... .... ...

生产记录表
ProduceDate PO_NO  WorkerID  ProcessID  ChildID  Quantity
(生产日期)(单号)(工人编号)(父工序号)(子工序号)(生产数量)

2013-01-26  001    W01     A     A01     50
2013-01-26  001    W01     A     A02     13
2013-01-26  002    W01     A     A04      5
2013-01-26  002    W01     A     A03     12
2013-01-26  001    W02     B     B01     30
2013-01-26  001    W02     B     B02      8

  输入界面是往《生产记录表》里输入每天工人的生产详细数据,生产记录表中的两个字段“父工序号”和“子工序号”用DropDownDW类型,分别采用“父工序表”和“子工序表”的数据源,录入员希望在选择输入“父工序号”后,电脑自动根据选择的“父工序号”,过滤掉“子工序号”字段DropDownDW里不属于该“父工序号”的记录,这样一来方便录入员工作,不用在“子工序号”字段里几十条“子工序”记录中一一寻找,另外也防止录入员选错不属于已选“父工序号”的“子工序号”。麻烦各位大侠帮忙看看如何实现,先谢谢了!
[解决办法]
在数据窗口的itemchanged事件里写代码


if dwo.name = 'ProcessID' then
datawindowchild ldwc_child
this.getchild('ChildID', ldwc_child)
ldwc_child.setfilter("ProcessID = '" + data + "'")
ldwc_child.filter()
end if
[解决办法]
dddw联动
DataWindowChild city_child
integer rtncode
//通过函数 getchild() 判断子数据窗口是否存在
rtncode = getchild("city",city_child )
IF rtncode = -1 THEN
MessageBox("Error", "Not a DataWindowChild")
RETURN 0
END IF

city_child.settransobject(sqlca)
//检索出符合条件的 子工序号
city_child.retrieve("父工序号")

再看一下 数据窗口的Event ID pbm_command

读书人网 >PB

热点推荐