Utiliser le résultat d'une requête dans une autre requête sous vb6

Signaler
-
 misscatycat -
salut,je suis entraîne de développer une application de la gestion des ressources humaines sous visual basic 6
j'ai une base de donnée sous Access 2003
je veux affiché la liste des agents qui vont bénéficier d'un avancement sur l’échelon:
T_agent(num_agent,prenom_agent,nom_agent,date_nomination)
T_avancement(num_avanc,num_decision,num_agent,nature_avanc,date_effet,num_echel_avanc,code_grade)
pour le 1er echelon aprés 2 ans de la date de nomination
et pour 2éme....12éme échelon après 2 ans de la date d'effet dernier échelon
je veux affiché nom,prenom,num echelon ,date effet selon le code grade
voila ma requete
x = 'avancement sur l échelon'
Ors2.Open "select T_agent.num_agent,T_agent.prenom_agent,T_agent.nom_agent,T_avancement.num_echel from T_agent,T_avancement where T_agent.num_agent T_avancement.num_agent and num_echel(select num_agent,max(num_echel) as num_echel from T_avancement where nature_avanc = """ & X & """ group by num_agent order by code_grd) ", cn, adOpenDynamic, adLockOptimistic, -1

je suis bloquer dans ce point depuis 15 jours je demande de l'aide s'il vous plait et merci

4 réponses

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
11
Salut,

essaie de mettre en forme ton message que ce soit lisible. Perso, je me suis arrêté au premier saut de ligne.
merci d'avoir me repondre
je suis entraîne de développer une application de la gestion des ressources humaines sous visual basic 6,j'ai une base de donnée sous Access 2003
1-je veux affiché la liste des agents qui vont bénéficier d'un avancement sur l'échelon mes tables sont les suivants:

*T_agent(num_agent,prenom_agent,nom_agent,date_nomination)
*T_avancement(num_avanc,num_decision,num_agent,nature_avanc,date_effet,num_echel_avanc,code_grade)

2-les régles a prendre on considération
*pour le 1er echelon aprés 2 ans de la date de nomination
* pour 2éme....12éme échelon après 2 ans de la date d'effet dernier échelon

3-résultat attendu :
* affiché nom,prenom,num echelon ,date effet selon le code grade

mon programme est le suivant

[color=]x = 'avancement sur l échelon'
Ors2.Open " select T_agent,T_agent.prenom_agent,T_agent.nom_agent,T_avancement.num_echel from T_agent,T_avancement where T_agent.num_agent T_avancement.num_agent and num_echel(select num_agent,max(num_echel) as num_echel from T_avancement where nature_avanc = """ & X & """ group by num_agent order by code_grd) ", cn, adOpenDynamic, adLockOptimistic, -1/color
et merci d'avance
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
11
Alors si on refait un petit topo de l'archi :
- tu as une table contenant des personnes (agents),
- tu as une table associée contenant les échelons déjà obtenus par ces personne,
- tu veux trouver les personnes qui ont droit à un nouvel avancement.

Toutefois, ta requête (hors erreurs diverses et variées) devrait retourner les derniers avancements obtenus par chaque agent, et non les agents qui ont droit à un nouvel avancement.
bonjour merci jopop d'avoir me répondre
je vais posé le problème autrement:
la requête doit affiché le nom ,prénom ,numero dernier échelon,date d'effet dernier échelon
condition:
1-cette liste elle doit être classé selon le grade sachant que chaque agent possédé un grade (j'ai une table fixe elle est remplit par tous les grades)
2-les agents qui seront dans cette liste sont qui vérifier les conditions suivants:
a-pour le 1ér échelon: la date du systéme(date du jour même quand on fait ce teste) doit étre égale à 2ans par rapport à date de nomination
b- pour le 2éme jusqu’à 12 éme échelon: la date du système (date du jour même quand on fait ce teste) doit étre égale à 2ans par rapport à la date d'effet du dernier échelon
j’espère que c'est plus claire