bon soir c'est ma premiere participattion
j' ai 02 table sous access :
1-epost : poste :integer ,ste:integer ,date:date.
2-propost : mois;string ,ste:integer ,post:integer

je veut extraire les poste de la table epost qui figure entre 01/01/2008 et 30/01/2008 et qui ontle champ ste= 861

et qui figure dans la table propost dans le mois =janvier et ste=861.

la premiere requete select poste from epost
where date between :a and :b
and ste :c

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
adoquery1.parameters.parambyname('a').value:= datetimepicker1.date 
adoquery1.parameters.parambyname('b').value:= datetimepicker2.date
adoquery1.parameters.parambyname('c').value:= edit1.text;
===== le resultat est ======
les postes resultant : 87
12

deuxieme requete: select post from propost
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
where mois=:a and ste=:b
adoquery1.parameters.parambyname('a).value:= edit2.text; 
adoquery1.parameters.parambyname('b).value:= edit1.text;
==== le resultat =====
les postes : 87
:33
================ma question =========
comment je peut avec une requete sql extraire les postes dans
propost(2 table) est ne sont pas dans epost(1 table)
et j'àbtien le resultat suivant:
33
en realite j'ai essaye avec ce code est as de resultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
t4.Close; // t4 c'est un adoquery3
t4.sql.Clear;
t4.sql.Add('select post from propost');
t4.sql.Add('where post not in (select poste');
t4.sql.Add('from epost where date between :a and :b ');
t4.SQL.Add('and ste =:e)');
t4.sql.add('mois =:c and ste=:e');
 
t4.parameters.ParamByName('a').Value:=datetostr(d1.Date);
t4.parameters.ParamByName('b').Value:=datetostr(d2.Date);
t4.parameters.ParamByName('c').Value:= combobox3.Text;
t4.Parameters.ParamByName('e').Value:= combobox1.Text;
t4.open;