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

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;
lorsque je compile et je lance ma forme j´ai le message d´alerte: 'menu inexistant: ID incorrect'.

j´ai ensuite crée la procedure suivante pour voir si j´obtiendrai l´effet escompté mais rien non plus:

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;
j´appelle cette procedure dans le trigger: when-new-record-instance

Alors je ne sais pas si en forms 6i il y a une autre méthode pour désactiver le menu?

Merci