以考勤输入员工代码为例。假如输入代码错误,或者按下右边的按钮,会弹出如下界面。此界面还提供第一列(姓名)的搜索功能:
实施步骤: 步骤一:建立记录组employee_lov_group,sql 为: select e.id,e.name,d.name department,p.name position from employee e,department d,position p where e.department_id=d.id(+) and e.position_id=p.id(+) 步骤二:建立LOVemployee_lov, 全部列宽定义为40,LOV列影射窗口的浏览按钮,可以选择每列对应的影射字段。同时要定义好窗口的X、Y及长宽数值。 点击查看大图 步骤三:员工编号字段属性的改变,LOV值列表设置为employee_lov,从列表中验证,选择“是”,这样的设置,会使当用户错误输入employee_id时,会自动弹出LOV选择界面。 步骤四:选择按钮的代码, go_item('attendance_detail.employee_id'); list_values; 补充1: 取消LOV: set_item_property('attendance_detail.employee_id',lov_name,''); 不能使用: set_item_property('attendance_detail.employee_id',lov_name,null); 分配LOV: set_item_property('attendance_detail.employee_id',lov_name,'employee_lov'); 补充2: 使用 select * from xxx 作group的SQL,竟然不能通过编译? ctrl+T时,会提示: FRM-30187: 记录组中的 CHAR 列的大小必须在 1 和 2000 之间. 解决方法:不要使用select * ... , 要使用select field1,field2... --- 本文为原创,by armok.
|