Re moi.

toujours dans mes requêtes tordues :
J'ai un form qui sur chargement a le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Form_Load()
Dim dtDate As Date
 
dtDate = Date
If dtDate > DateSerial(Year(dtDate), 7, 31) Then
   Me.Date1 = DateSerial(Year(dtDate), 8, 1)
   Me.Date2 = DateSerial(Year(dtDate) + 1, 7, 31)
Else
   Me.Date1 = DateSerial(Year(dtDate) - 1, 8, 1)
   Me.Date2 = DateSerial(Year(dtDate), 7, 31)
End If
 
End Sub
J'ai la requête union suivante
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
SELECT iif(AFFAIRES.[Transaction aboutie]=-1,"Transactions abouties") AS Libellé, Count(AFFAIRES.[Transaction aboutie]) AS Volume, Count(AFFAIRES.[Transaction aboutie])/(SELECT Count(AFFAIRES.Réfaffaires) AS CompteDeRéfaffaires FROM AFFAIRES) AS Taux, Sum(AFFAIRES.[Montant honoraires HT]) AS CA
FROM AFFAIRES
WHERE (((AFFAIRES.[Transaction aboutie])=True)) 
GROUP BY AFFAIRES.[Transaction aboutie];
 
UNION
 
SELECT iif(AFFAIRES.[Transaction en cours]=-1,"Transactions en cours") AS Libellé, Count(AFFAIRES.[Transaction en cours]) AS Volume, Count(AFFAIRES.[Transaction aboutie])/(SELECT Count(AFFAIRES.Réfaffaires) AS CompteDeRéfaffaires FROM AFFAIRES) AS Taux, Sum(AFFAIRES.[Montant honoraires HT]) AS CA
FROM AFFAIRES
WHERE (((AFFAIRES.[Transaction en cours])=True)) 
GROUP BY AFFAIRES.[Transaction en cours];
 
UNION SELECT iif(AFFAIRES.[Transaction avortée]=-1,"Transactions avortées") AS Libellé, Count(AFFAIRES.[Transaction avortée]) AS Volume, Count(AFFAIRES.[Transaction aboutie])/(SELECT Count(AFFAIRES.Réfaffaires) AS CompteDeRéfaffaires FROM AFFAIRES) AS Taux, Sum(AFFAIRES.[Montant honoraires HT]) AS CA
FROM AFFAIRES
WHERE (((AFFAIRES.[Transaction avortée])=True)) 
GROUP BY AFFAIRES.[Transaction avortée];
Le truc c'est que je souhaiterais ajouter en union
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT iif(AFFAIRES.[Transaction en cours]=-1,"Transactions en cours") AS Libellé, Count(AFFAIRES.[Transaction en cours]) AS Volume, Count(AFFAIRES.[Transaction aboutie])/(SELECT Count(AFFAIRES.Réfaffaires) AS CompteDeRéfaffaires FROM AFFAIRES) AS Taux, Sum(AFFAIRES.[Montant honoraires HT]) AS CA
FROM AFFAIRES
WHERE (((AFFAIRES.[Transaction en cours])=True)) 
GROUP BY AFFAIRES.[Transaction en cours];
mais avec une clause WHERE en AND (à ajouter à ce qui est en gras) afin que cette requête ne m'affiche que les résultat qui sont dans mon exercice comptable en cours (défini par le code VBA plus haut) et que l'autre requête identique qui est dans le code que j'ai donné (en deuxième union) ne m'affiche que les résultats hors exercice comptable (au delà des dates définies par le code VBA)...

Pas sûre d'être claire...