bonjour

j'ai mis en place une base de donnée sur access 2003 avec les tables suivantes: individu, catégorie, espèce, type traitement, traitement, sortie individu.

Je voulais que l'utilisateur puisse retrouver les individus traités sur une pérode en fonction du type traitement. Il en est de meme pour les individus non traité.

j'ai donc créer deux formulaires; l'un me permettant de retrouver mes individus traités et l'autre, les individus non traités.
pour le formulaire "individu traité, j'ai mis comme source du formulaire:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT [Type traitement].Libéllé, Traitement.Datetrait, Traitement.daterappel, Individu.Codind, Individu.Designation, Catégorie.Designation, Espèce.Designation, Individu.date_enr FROM [Type traitement] INNER JOIN ((Espèce INNER JOIN (Catégorie INNER JOIN Individu ON Catégorie.Codcaté=Individu.Codcaté) ON Espèce.Codesp=Catégorie.Codesp) INNER JOIN Traitement ON Individu.Codind=Traitement.Codind) ON [Type traitement].Codtyptrait=Traitement.Codtyptrait WHERE (((Individu.Codind) Not In (select [sortie individu].[codind] from [sortie individu]))) and [type traitement].codtyptrait= [forms]![rech_traitement]![traitement] and Espèce.Codesp= [forms]![rech_traitement]![espece] and Traitement.Datetrait Between ( [forms]![rech_traitement]![Date_D]) And [forms]![rech_traitement]![Date_F] and individu.date_enr <= [forms]![rech_traitement]![Date_F];
a part le problème de format des dates, tout marche très bien.

je vourdrais que le formulaire sujet non traité m'affiche seulement les individus non traités sur une période pour un type de traitement.
j'ai donc ecris la requete suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SELECT Individu.Designation, Individu.Datenais, Individu.Couleur, Individu.Sexe, Catégorie.Designation, Espèce.Designation, Individu.Codind FROM Espèce, Catégorie, Individu WHERE ((((Individu.Codind) Not In (select Traitement.Codind from traitement INNER JOIN ([Type traitement] INNER JOIN Traitement ON [Type traitement].Codtyptrait = Traitement.Codtyptrait) ON Individu.Codind = Traitement.Codind  WHERE [Type traitement].codtyptrait=  [forms]![rech_non_traite]![traitement]  and  Traitement.Datetrait  Between [forms]![rech_non_traite]![Date_D] And [forms]![rech_non_traite]![Date_F])))) and (((Individu.Codind) Not In (select [sortie individu].[codind] from [sortie individu]))) and catégorie.codcaté=individu.codcaté and espèce.codesp=catégorie.codesp and Espèce.Codesp= [forms]![rech_non_traite]![espece] and  individu.date_enr <= [forms]![rech_non_traite]![Date_F]
Cette requette m'affiche tous les individus de l'espèce choisi present dans la ferme, meme ceux qui ont été traités.
en fait, ma requette se comporte de la meme manière comme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT Individu.Designation, Individu.Datenais, Individu.Couleur, Individu.Sexe, Catégorie.Designation, Espèce.Designation, Individu.Codind FROM Espèce, Catégorie, Individu WHERE ((Individu.Codind) Not In (select [sortie individu].[codind] from [sortie individu])) and catégorie.codcaté=individu.codcaté and espèce.codesp=catégorie.codesp and Espèce.Codesp= [forms]![rech_non_traite]![espece] and  individu.date_enr <= [forms]![rech_non_traite]![Date_F]
elle ne prend pas en compte la partie suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
(((Individu.Codind) Not In (select Traitement.Codind from Individu INNER JOIN ([Type traitement] INNER JOIN Traitement ON [Type traitement].Codtyptrait = Traitement.Codtyptrait) ON Individu.Codind = Traitement.Codind  where ([Type traitement].codtyptrait=  [forms]![rech_non_traite]![traitement]  and  Traitement.Datetrait  Between [forms]![rech_non_traite]![Date_D] And [forms]![rech_non_traite]![Date_F]))))
peut-etre que je m'y prend mal aussi, j'aimerais avoir vos avis afin de parfaire ma requette de sorte a récupérer uniquement les individus non traités.

de plus, comment rendre le format de dates sous la forme ("MM/DD/YYYY")?
j'ai essayé la syntaxe suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Traitement.Datetrait  Between format([forms]![rech_non_traite]![Date_D],"MM/DD/YYYY") And format([forms]![rech_non_traite]![Date_F],"MM/DD/YYYY")
mais ca marche pas.
merci de votre aide