Opérateur Logique [Résolu]

Messages postés
940
Date d'inscription
jeudi 20 février 2003
Dernière intervention
3 février 2011
- - Dernière réponse : tbbuim1
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Dernière intervention
3 février 2011
- 25 mai 2008 à 19:27
Bonjour à tous,

J'ai une question qui peut paraître simple comme ça
mais je ne trouve pas la réponse...

J'aimerais avec un like avoir tous les n° d'un champ à l'exception d'un

exemple :
401, 402, 403, 405, 406, 407, 408, 409  (404 exclu!)

donc ce qu'on pourrait avoir en faisant  :
SELECT * from Table WHERE N° like 40[0-3] or N° like 40[5-9]

Mais j'aimerai faire cela avec 1 seul LIKE
Je ne vois pas comment l'écrire.
Est-ce possible?
Je dois le faire en une fois pour des raisons de programmation, sinon ça me ferait modifier bcp plus de codes que prévu.

Merci de votre aide.
TBBUIM
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
3
Merci
Forcément vu sous cet angle .....

On en revient donc à l'instruction Like.

Je crois bien que le pattern dans ton cas s'écrirais de la sorte :

SELECT * from Table WHERE N° like '40[^4]%'

ça prend tous le n° commencent par 40...xxxxxxxx sauf 404xxxxxxxxx

A vérifier !

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 105 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_casy
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
3
Merci
Ah, pas loin !!!

Normalement ça devrait etre LIKE '40[^47]%'

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 105 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_casy
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
0
Merci
Et pourquoi dans ce cas là, ne pas dire directement

SELECT * from Table WHERE N° != 404

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Commenter la réponse de cs_casy
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Dernière intervention
3 février 2011
0
Merci
lol oui merci du conseil, mais c'est plus compliqué que ça...
en fait, je fais un like parce que les n° sont 4062316813 ou 403fezfze12315
ou n'importe. l'important c les 3 chiffrs du début et la plage, je veux pas tout prendre mais uniquement quelque chose de précis, donc ta réponse n'est pas valable dans mon cas.

TBBUIM
Commenter la réponse de tbbuim1
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Dernière intervention
3 février 2011
0
Merci
Merci
TBBUIM
Commenter la réponse de tbbuim1
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Dernière intervention
3 février 2011
0
Merci
Yaurai-t'il un moyen d'exclur 4 et 7 de la sélection?
un truc du genre : 40[^4;7]
TBBUIM
Commenter la réponse de tbbuim1
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Dernière intervention
3 février 2011
0
Merci
J'ai mis 40[^4,7] et ça marche (SQL Server)
En fait [^4-7] c'est de 4 à 7
Et       [^4,7] c'est 4 et 7
EN REVANCHE J'ai un gros probleme :s
Il semble que cela ne marche pas sur des filters!
En effet, lorsque je fais un recordset avec comme source
sql = "select * from table where n° like '40[^4]%'" ça marche...
MAISsi je fais sql "select * from table"> rs.open sql, db_conn,1,3
et que je fais
param = "40[^4]" (mon type n° est en string)
rs.filter = "n° like '" & param & "'%'"
ça ne retourne aucun résultat
alors qu'un param = "401" retourne un résultat

J'ai essayé avec comme recordset 3,3 ou autres, rien n'y fait

TBBUIM
Commenter la réponse de tbbuim1
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Dernière intervention
3 février 2011
0
Merci
J'ai fait une faute de frappe le filter est de la forme
rs.filter = "n° like '" & param & "%' "
TBBUIM
Commenter la réponse de tbbuim1

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.