大家好我正在尝试在表单之间传递参数但是我有这个错误: frm-92101在启动期间表单服务器出现故障。 我想在EMPLOYEE表单上放置一个按钮,当按下该按钮时,将调用EMPLOYEE / DEPENDENT表单并自动查询在EMPLOYEE表单上查看的员工的受抚养人。 创造了EMPLOYEE表格并添加了一个按钮。当按下bouton时,我指定了一个触发器:
DECLARE
pl_id ParamList;
BEGIN
pl_id := Get_Parameter_List('tmpdata');
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('tmpdata');
Add_Parameter(pl_id, 'EMPLOYEESSN', TEXT_PARAMETER, :SSN);
Run_Product(FORMS, 'empdepn', SYNCHRONOUS, RUNTIME,
FILESYSTEM, pl_id, NULL);
END;
之后我在EMPLOYEE / DEPENDENT中添加一个参数 我使用下面的代码创建了一个名为EMPLOYEESSN的PARAMETER,并添加了一个参数EMPLOYEESSN并添加了一个WHEN-NEW-FORM-INSTANCE触发器:
DECLARE
blk_id Block;
BEGIN
-- Obtain the block ID of the EMPLOYEE block. This is the
-- Master block in the empdepn master/detail form.
blk_id := Find_Block('EMPLOYEE');
IF NOT Id_Null(blk_id) THEN
-- Check to make sure our parameter has a value. If this form
-- were executed by itself, then the parameter will be null.
-- If this form is called from EMPLOYEE then the parameter will
-- be passed along and assigned to: PARAMETER.employeessn
IF (:PARAMETER.employeessn is not null) THEN
-- Since we have a parameter, use it to alter the WHERE Clause
-- property so that it becomes WHERE ssn=:PARAMETER.employeessn
SET_BLOCK_PROPERTY(blk_id,DEFAULT_WHERE,'ssn=' || : PARAMETER.employeessn);
-- Navigate to the EMPLOYEE block and execute a query automatically
GO_BLOCK('EMPLOYEE');
EXECUTE_QUERY;
END IF;
END IF;
END;
任何想法,谢谢你的帮助