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