2017-08-15 2 views
1

J'ai une requête qui fonctionne très bien comme cela est comme çaPuis-je utiliser un paramater rapport en tant que section de la clause WHERE

WHERE (customer IN (@cust)) 

et @cust est un client ou une liste multiple de clients

ce que je veux ajouter est un AND plus dans un autre paramètre optionnel comme

No: @expiring = " " 

OU

Yes: @expiring = " AND getDate() >= dateAdd(d,[expiryWarning],[expiryDate]) " 

puis je veux ajouter cela à la fin de la WHERE et de faire cette deuxième partie si elle est choisie dans la liste déroulante comme oui ou non, donc je peux afficher toute la liste des clients ou seulement ceux qui expirent dans le rapport .

WHERE (customer IN (@cust)) @expiring 

mais je vois une erreur lorsque je tente d'exécuter ce rapport

que there's an error near @expiring

une idée? J'ai cherché toute la journée, est-ce possible?

Répondre

2

Vous devez modifier votre clause where pour prendre en compte @expiring comme ceci.

WHERE customer in (@cust) 
    AND (@expiring='No' OR getDate() >= dateAdd(d,[expiryWarning],[expiryDate])) 

Donc si @expring est 'Non' alors cette partie de la clause WHERE renvoie toujours vrai. Si expiring = 'Yes' alors le critère de date doit être vrai sinon cette partie retournera false.

+0

Ahh ok je vois ce qu'il se passe, ici, excellent merci! Je vais essayer et marquer le vôtre comme la réponse - si-- quand ça marche. – ScottC

+0

mise à jour: ça a bien fonctionné! Merci encore! – ScottC