Salut à tous je suis débutante en forms 6i. Afin de me familiariser avec l´outil j´ai suivi ce tutoriel: http://sheikyerbouti.developpez.com/...g/?page=Chap49
tout fonctionne bien sauf le dernier point où il faut désactiver le menu en fonction du département choisit. J´ai suivi à la lettre les étapes proposées par Sheikyerbouti à savoir: éditer le déclencheur when-new-record-instance
lorsque je compile et je lance ma forme j´ai le message d´alerte: 'menu inexistant: ID incorrect'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 if :dept.deptno = 10 then set_menu_item_property('record.insert', enabled, property_false); set_menu_item_property('record.remove', enabled, property_true); set_block_property('emp', insert_allowed, property_false); set_block_property('emp', delete_allowed, property_true); elsif :dept.deptno = 20 then set_menu_item_property('record.insert', enabled, property_true); set_menu_item_property('record.remove', enabled, property_false); set_block_property('emp', insert_allowed, property_true); set_block_property('emp', delete_allowed, property_false); else set_menu_item_property('record.insert', enabled, property_true); set_menu_item_property('record.remove', enabled, property_true); set_block_property('emp', insert_allowed, property_true); set_block_property('emp', delete_allowed, property_true); end if;
j´ai ensuite crée la procedure suivante pour voir si j´obtiendrai l´effet escompté mais rien non plus:
j´appelle cette procedure dans le trigger: when-new-record-instance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 create or replace PROCEDURE operation (nrde in number, empnr in number)IS cmd varchar2(2000); query1 varchar2(2000); query2 varchar2(2000); empname varchar2(10); empjob varchar2(10); empmgr number; empdate date; salaire number; commis number; BEGIN query1 := 'delete from emp where empno = empnr and deptno = nrde'; query2 := 'insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno) values (empnr, empname, empjob, empmgr, to_date(empdate, ''dd/mm/yyyy''), salaire, commis, nrde) where deptno = nrde'; if (cmd = query1) then if (nrde = 20) then dbms_output.put_line ('Interdit d´effacer'); else delete from emp where empno = empnr and deptno = nrde; end if; end if; if (cmd = query2) then if (nrde = 10) then dbms_output.put_line ('Ajout non autorisé'); else insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno) values (empnr, empname, empjob, empmgr, to_date(empdate, 'dd/mm/yyyy'), salaire, commis, nrde); end if; end if; END;
Alors je ne sais pas si en forms 6i il y a une autre méthode pour désactiver le menu?
Merci
Partager