Je suis en train de convertir l'expression suivante de SQL Server dans une expression de visibilité dans SSRS pour un certain champ de saisie qui contient un message d'erreur:SSRS - Afficher zone de texte si la chaîne contient des numéros
select address, commonPlaceName, municipality where @Location not like '$[0-9]%'
Mon rapport SSRS permet aux utilisateurs de la recherche pour @Location, qui est une combinaison de l'adresse et commonPlaceName et renvoie une table d'enregistrements. J'essaie de limiter le nombre de lignes retournées en fonction à la fois de la longueur du caractère et si la valeur du paramètre fourni contient un nombre. Je veux afficher un message d'erreur lorsqu'ils recherchent un lieu commun ou une adresse sans numéro dit "Désolé votre recherche était trop large, donc le nombre d'enregistrements a été limité".
j'ai eu la partie de longueur au travail en utilisant les éléments suivants:
=iif(len(Parameters!Location.Value)<=5,false,true)
Mais je ne peux pas comprendre comment rechercher un numéro dans une chaîne
Pour les personnes intéressées, dans le SQL script, je définis le rowcount basé sur une déclaration de cas qui est parallèle aux options de visibilité que j'essaie de définir dans SSRS.
Je suis encore en train d'apprendre SSRS donc toute aide est très appréciée!
EDIT:
Voici l'instruction SQL J'utilise pour limiter rowcount si cela aide:
declare @top int
set @top = case when len(@Location) <= 5 then 100
when @Location not like '%[0-9]%' then 100
when len(@Location) >5 then 0
end
set rowcount @top
Merci Ross.Le numéro 1 ne fonctionnera pas car je définis le rowcount en fonction d'une instruction case pour éviter une charge de serveur inutile. Pourriez-vous expliquer le numéro 2 un peu plus? Je suis confus par votre utilisation de champs au lieu de mon paramètre @Location et aussi je ne suis pas sûr de ce qui remplace "[MyRegExString]". Merci! – user20224
J'ai modifié ma question initiale pour inclure le code SQL que j'utilise pour limiter le nombre de lignes si cela peut vous aider. – user20224
Si vous souhaitez vérifier la valeur d'un paramètre, remplacez Fields! FieldName, Value par Parameters! Location.Value. En ce qui concerne la regex, vous pourrez peut-être vous en sortir avec [0-9]. Je ne suis pas un expert en regex et je ne voudrais pas donner de conseils trompeurs là-bas. –