以考勤输入员工代码为例。假如输入代码错误,或者按下右边的按钮,会弹出如下界面。此界面还提供第一列(姓名)的搜索功能:
实施步骤:
步骤一:建立记录组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.