Bonjour,

Dans un écran réalisé sous forms 6i, je souhaiterais permettre à l'utilisateur de dupliquer un enregistrement.

Actuellement voici l'algorithme que j'utilise :
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
DECLARE
  /* déclaration d'autant de variables locales qu'il existe d'items base table */
BEGIN
  GO_BLOCK('X_1');
  -- sauvegarde des items base table dans les variables temporaires déclarées à cet effet
 
  GO_BLOCK('X_2');
  -- sauvegarde des items base table dans les variables temporaires déclarées à cet effet
 
  GO_BLOCK('X_n');
  -- sauvegarde des items base table dans les variables temporaires déclarées à cet effet
 
  IF :SYSTEM.MODE = 'ENTER-QUERY' THEN
    CLEAR_FORM(NO_VALIDATE);
    EXIT_FORM(NO_VALIDATE);
  END IF;
  CREATE_RECORD;
 
  -- restauration des items table grâce aux variables temporaires
  ...
 
  EXECUTE_TRIGGER('KEY-COMMIT');
END;
Cette méthode qui fonctionne quasiment présente l'énorme inconvénient d'être étroitement liée aux structures des tables sous-jacentes.

On ne peut pas faire mieux ?
Merci d'avance à tou(te)s.