![]() |
|
Forum
|
|
|
#1 (permalink) | |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 094
|
Bonsoir à tous et particulièrement à mes copains 'ADO'
![]() Bon je sèche un peu car je cherche la syntax pour utiliser l'Operator LIKE en sens opposé, c'est à dire NE Contient PAS dans une requête ADO... Voici un extrait du Code : Citation:
Bonne Soirée et merci d'avance à tous [ol]@+Thierry[/ol] |
|
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Accro
Date d'inscription: janvier 2006
Localisation: Beaumont du Lac
Version Excel : Excel 2003 (PC)
Messages: 1 319
|
Bonsoir Thierry
Selon ma bible (toujours VBA Acces) la négation de LIKE est bien NOT LIKE voila ce qu'on me dit LIKE permet de faire des recherches à l'intérieur d'une chaîne de caractères % : est utilisé pour représenter une chaîne de caractère de longueur quelconque. _ : est utilisé pour représenter un caractère unique. La syntaxe est : LIKE 'Chaîne de recherche' a pour négation NOT LIKE 'Chaîne de recherche' En souhaitant que ça te permettra d'avancer
__________________
![]() Prenez le temps de visiter mon village limousin http://perso.orange.fr/beaumontdulac et laisser la trace de votre passage sur mon livre d'or |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: janvier 2006
Localisation: 69400 LIMAS
Version Excel : Excel 2000 (PC)
Messages: 5 385
|
bonjour thierry
je vous le donne pour ce que cela vaut: c'est le mode sql d'une requete Access qui fonctionne SELECT [Table1].[essai] FROM Table1 WHERE ((([Table1].[essai]) Not Like '*R*')); en esperant que vous pourrez en tirer quelque chose |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 691
|
bonsoir à tous
Thierry , plusieurs caracteres génériques différents (% * ? #) sont testés dans la procédure peux tu préciser le format des données dans le champ LILETR quelques infos dans ce lien http://office.microsoft.com/fr-fr/as...322531036.aspx http://office.microsoft.com/fr-fr/as...322841036.aspx bonne soirée MichelXld |
|
|
|
|
|
#5 (permalink) | |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 2 284
|
Bonsoir _Thierry, Jacques87, pierrejean, MichelXld, le Forum,
N'étant pas spécialiste ADO et requête SQL, je vais peut-être annoncer une énormité... mais, sauf erreur de ma part, NE CONTIENT PAS '*R' se dit : Citation:
|
|
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 094
|
Bonsoir Jacques, Pierre Jean, Michel, Didier, le Forum
Mes chers amis, tout d'abord merci à vous tous d'avoir consacré un peu de votre temps pour consulter et répondre à mon Post. En effet Didier, le '*[!R]' devrait théoriquement répondre au 'NOT LIKE' proposé par Jacques... Mon cher Michel, le Format est en fait du Texte en mode export d'un AS400 vers Access, retraité par la requête ADO ci-dessus... La String '*R' est en fait un 'Tag' généré dans un champs pour des écritures automatique de report de balance... Le principe du programme est de pouvoir pûrement et simplement ignorer ces reports selon des options choisies basées sur le degrés de détails voulus par l'utilisateur... Sinon le lien que tu as mis gentillement ne passes pas chez moi Michel. Pour le Reste, je ne suis pas en mesure de chez moi pour tester toutes vos symapathiques Propositions notamment celle de Pierre-Jean que, je crois, nous n'avons pas testé; mais mon ami et collègue de travail que je vous présente 'Stéphane' va tester tout ceci et ne manquera pas de vous tenir informé! En tout cas je vous remercie tous très sincèrement, c'est très motivant de se retrouver du coté des 'demandeurs' ![]() Bonne nuit, enfin plutôt journée je pense ![]() [ol]@+Thierry[/ol] |
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: septembre 2005
Messages: 6
|
Bonjour le Forum, Jacques87, pierrejean, MichelXld, myDearFriend et _Thierry.
Tout d'abord merci pour vos differentes propositions de syntaxe mais pour le moment aucune ne me donne le résultat escompté. Pour le moment, j'ai trouvé une alternative mais ce n'est pas réelement ce que je recherche: Le champs LILETR comme l'explique _Thierry est un tag qui est utilisé pour le lettrage des écritures comptables et pour le tag automatique lors des écritures de fin d'année pour les reports de balance. Actuellement ce champs est vide ou bien contient la fameuse expression '*R1','*R2','*R3'... selon le nombre de documents comptables générés pour ces reports de balance. Ma solution 'intermédiare' est donc de dire que mon champs est soit vide, soit contient '*R'. Donc selon les besoins de l'utilisateur d'exclure ces données, la syntaxe sera : SQLString6='LILETR IS NULL' Par conséquent pour les inclure on n'utilisera évidement pas l'expression SQLString6 Mais si le champs LILETR n'est pas vide je ne suis pas sûr que les données exclues soient du type '*R*'. Dans ce cas le résultat de ma requête sera incomplet. Je vais continuer à chercher de mon côté et vous tiendrai informés. Bonne journée Solenfou |
|
|
|
|
|
#8 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 094
|
Hello Solenfou !!! Bpnjour le Fil
Welcome sur XLD 'Solenfou'![]() Donc je vous confie mon collègue et ami ![]() Bon Appétit [ol]@+Thierry[/ol] Message édité par: _Thierry, à: 16/03/2006 13:21 |
|
|
|
|
|
#9 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 691
|
bonsoir à tous
je ne comprends pas bien ce que contient le champ LILETR : l'astérique * est aussi un des caracteres ? si c'est la cas , il me semble qu'il faut le mettre entre crochets car c'est un caractere spécial SQLString6 = 'LILETR LIKE '[*]R#'' à tester aussi (sans les quotes) : SQLString6 = 'LILETR LIKE[*]R#' # , si le caractere suivant le R est numerique bonne soirée MichelXld |
|
|
|
|
|
#10 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: septembre 2005
Messages: 6
|
Bonsoir à tous,
MichelXld, le champ LILETR contient l'astérisque '*' ,la lettre 'R' et un numéro: *R1 par exemple. Le problème est que cette zone pourrait aussi recevoir un lettrage automatique d'écritures sur le format A ou AA ou AAA. Je vais préparer une petite base access avec quelques données, ce sera plus clair je crois. Je la posterai seulement demain car j'ai plus d'internet à la maison en ce moment: Freebox hs !!! Merci à tous et à demain. Solenfou |
|
|
|
|
|
#11 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 691
|
bonsoir à tous
ci joint une synthaxe qui fonctionne chez moi ( Excel2002 ; WinXP & ADO 2.5 ) SQLString6 = 'LILETR NOT LIKE '[*]R%'' 'ne commence pas par *R SQLString6 = 'LILETR LIKE '[*]R%'' 'commence par *R SQLString6 = 'LILETR LIKE '[*]R1'' ' = *R1 SQLString6 = 'LILETR NOT LIKE '[*]R1'' 'différent de *R1 à tester dans les fichiers joints bonne soirée MichelXld [file name=requeteLike_caracteresGeneriques.zip size=21717]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/requeteLike_caracteresGeneriques.zip[/file] |
|
|
|
|
|
#12 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 094
|
Bonjour cher ami Michel, le Fil, le Forum
Et bien je pense que 'SolenFou' va être comblé, tu es vraiment fantastique Michel, bosser pratiquement jusqu'à minuit 01 pour ce problème en fabriquant même le fichier ! Quand j'ai 'introduit' mon collègue et ami sur XLD je lui avais promis qu'une réponse lui serait provulguée, car je savais que the 'Michels Gang' allaient sévir !!! Merci à toi Michel 'Bug's Bunny' pour les intimes et anciens ![]() Je pense que la solution pour Stéphane sera avec cette ligne là : SQLString6 = 'LILETR NOT LIKE '[*]R%'' 'ne commence pas par *R Ce devrait répondre à sa problématique de report automatiques de notre AS400. Ce qui est troublant quand même c'est cette ligne là : 'SQLString6 = 'LILETR NOT LIKE '[*]R1'' 'différent de *R1 Qui fonctionne très bien pour 'éradiquer' les enregistrement qui contiennent *R1 Mais si je me base sur la même chose pour faire ceci : SQLString6 = 'LILETR NOT LIKE '[*]R'' 'différent de *R Et bien, on remonte tous les 10 enregistrements de base MDB sans distinction... Mais comme je disais, ce n'est pas grave puisque notre système 'Tag' les écritures avec cette String qui commence par *R et donc tu nous a donné la solution. Merci à toi Michel et Excellent Week End à tous et toutes [ol]@+Thierry[/ol] [ol]EDITION !!![/ol] Ok pour finaliser, j'ai fait différent tests et j'ai trouvé ceci : SQLString6 = 'LILETR NOT LIKE '%[*]R%'' 'différent de *R Là on a un Vrai NE CONTIENT PAS *R Encore merci Michel, mon dernier jour de boulot avant ITT se finira bien grace à toi ! Message édité par: _Thierry, à: 17/03/2006 08:19 |
|
|
|
|
|
#13 (permalink) |
|
Guest
Messages: n/a
|
Bonjour le Forum, MichelXld et _Thierry
Tout d'abord merci de vous mettre 'en quatre' à des heures pas possibles pour m'aider, c'est vraiment super. Vos syntaxes sont très interessantes et vont certainement pouvoir répondre à ce que je recherche. Il faut que je les teste. Merci à tous Solenfou |
|
|
|
#14 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: septembre 2005
Messages: 6
|
Bonjour le Forum, _Thierry, MichelXld
Après quelques jours je 'Réanime' un peu ce poste. En effet, la syntaxe de MichelXld finalisée par _Thierry était: SQLString6 = 'LILETR NOT LIKE '%[*]R%'' 'différent de *R NOT LIKE ne remontait donc pas les enregistrements de la base de démo qui contenaient *R Le hic c'est que ma table est créée automatiquement par DataSet Vision qui exporte tous les champs demandés contenus dans un IBM iSeries et certains de ces champs sont vides. Donc pour extraire TOUS les enregistrements ne contenant pas *R il faut la syntaxe suivante. SQLString6 = 'LILETR NOT LIKE '%[*]R%' OR LILETR IS NULL' Merci à tous pour votre aide. Solenfou |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|