Bonjour et merci de m'aider à solutionner ce petit problèmes.
Voici en gros ce que je veux faire sur Oracle 10g:
Un simple forms sur lequel on retrouve 3 champs texte (un NO_COMPAGNIE unique (ex. 10 pour Banque X, 20 pour banque Y), son secteur de travail NO_SECTEUR non unique (exemple: 2000 pour informatique, 3000 pour comptabilite, etc), le NOM de l'employé, le PRENOM de l'employé) et un BOUTON ouvrant la liste LOV et deux boutons (Enter_query F7 et Execute_Query F8). Prenons par exemple cette liste de données :
NO_COMPAGNIE | NO_SECTEUR | NOM | PRENOM
10 2000 K Julie
10 3000 P Donald
20 2000 L Jules
20 3000 E Albert
30 2000 A Andre
Un click sur le bouton ouvre une LOV qui affiche les données de la table et les affichent dans les champs texte ...juste là ça fonctionne bien car la sélection dans la LOV renvoie ses données sélectionnées directement dans les champs textes. Il s'agit de faire une sélection d'un enregistrement dans la lov pour remplir les champs texte...et c'est AUTOMATIQUE.
Bref : Si NO_COMPAGNIE saisi au clavier est 10 (il y a plus de un NO_SECTEUR dans cette cie) alors 'ouvrir LOV pour permettre de choisir entre 2000 et 3000' les NOM et PRENOM à inscrire dans les champs.
Si NO_COMPAGNIE saisi au clavier est 30 (il y a un seul NO_SECTEUR dans cette cie) alors 'ne pas ouvrir de LOV et inscrire directement les NOM et PRENOM dans les champs'.
Maintenant, je voudrais faire une seconde façon de trouver les champs nom et prénom en tapant MANUELLEMENT le NO_COMPAGNIE et faire un Enter ou F8 qui interroge la table pour remplir les deux autres champs NOM et PRENOM trouvées selon le NO_COMPAGNIE saisi.
Or je ne suis pas au fait de comment fonctionne le Enter-Query (F7) et le Execute-Query (F8) ni le cancel-Query (quelle touche clavier ?) pour pouvoir réaliser cela.
Aussi, pour m'aider à comprendre, lorsqu'on appuie sur F7 ou F8, par quel trigger le programmes passe ? Bref, qu'est-ce qui se passe lorsqu'on appuie sur ces touches ? Interroger signifie quoi au juste ? Et si le mot saisi au champ NO_COMPAGNIE n'existe pas dans la table, quel trigger utiliser ? (When-validate-item du bloc ou de l'élément ?) Aussi, après validation à savoir si le NO_COMPAGNIE saisie au clavier existe dans la table, je désire que s'il y a un seul NO_SECTEUR dans la table pour ce NO_COMPAGNIE saisi au clavier alors inscrire directement dans les champs NOM et PRENOM les informations trouvées dans la table, alors que si y a plus d'un NO_SECTEUR pour ce NO_COMPAGNIE saisi au clavier alors ouvrir une LOV permettant de sélectionner lequel
De plus, quel code et dans quel trigger (au niveau form ou item ?) écrire pour réaliser cela...je sais que pour qqn d'habituer avec la programmation Forms, ça devrait être simple et aussi j'espère avoir été claire dans mes explications du problèmes.
Merci beaucoup de m'aiguiller...je crois que ce sera une bonne base pour que je puisse débuter mon apprentissage.
Partager