Bonjour à tous,
Je fais appel aux bonnes âmes et les en remercie d'avance !
Le contexte :
J'ai encapsulé du code SQL dans un formulaire VBA (sous Excel).
L'utilisateur du formulaire peut renseigner dans excel des variables, comme suit, avant exécution du formulaire :
- une période (variables DD = date de début et DF = date de fin déclarées en tant que string) => ces 2 variables seront forcément renseignées
- un n° de matricule (variable numérique déclarée en tant que Double)=> cette variable sera éventuellement renseignée.
Mon problème :
Je n'ai pas de résultat (sans bug) avec le code ci-dessous si la variable MATRIC n'est pas renseignée (mais OK si les 2 variables sont renseignées => données extraites pour la période et N° de matricule saisi)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 (...) requete = requete & " where date(vrhoromain) between " & DD & " and " & DF & " and r1matricul = " & MATRIC & " " (...)
J'ai tenté un CASE dans la clause WHERE mais ne marche pas...
Si quelqu'un d'entre vous a une idée, je suis grandement preneur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 (...) requete = requete & " where Case when " & MATRIC & " = 0 then date(vrhoromain) between " & DD & " and " & DF & " " requete = requete & " Else date(vrhoromain) between " & DD & " and " & DF & " and r1matricul = " & MATRIC & " end " (...)
Merci
Partager