Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème de filtre sur recordset ADODB [ Base de données / ADO & DAO ] (tri_yann)

vendredi 21 novembre 2008 à 15:00:49 | Problème de filtre sur recordset ADODB

tri_yann

Bonjour,

J'ouvre un recordset ADODB.recordset.

J'effectue un filtre dessus avec la syntaxe :

Dim rst as New ADODB.Recordset
rst.open "select ...", connection
rst.filter = "[champ] Like '%toto'"


VBA me retourne l'erreur sur la dernière ligne :

Erreur d'exécution '3001':
Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres.


Chose curieuse, ces syntaxes fonctionnent :
rst.filter = "[champ] = 'toto'"
rst.filter = "[champ] Like '%toto%'"
rst.filter = "[champ] Like 'toto%'"

Quelqu'un sait-il pourquoi le filtre : Champ like '%toto'
ne fonctionne pas ?

Cordialement

Yann

vendredi 21 novembre 2008 à 15:27:15 | Re : Problème de filtre sur recordset ADODB

NHenry

Membre Club
Bonjour,

1) je te conseil plutôt de filtrer avec la clause WHERE directement dans ta requête.
2) Tu as essayé avec les * et ?, car Access, ce sont les jokers (très standard n'est-ce pas :)

Ma signature pour pointer sur mon site

vendredi 21 novembre 2008 à 15:42:21 | Re : Problème de filtre sur recordset ADODB

tri_yann

Merci de ta réponse NHenry,

J'ai oublié de préciser je suis dans un projet Access (adp). Je m'adresse à SQL Serveur 2005. C'est pour ça que j'utilise les %. Je n'ai pas le choix de ce côté là.

L'utilisation de la clause "Where" est une possibilité mais trop compliqué à mettre en place. Le "recordsource" du recordset n'est jamais identique des fois il y a un where, des fois non.
D'autre part l'avantage du filtre, c'est la rapidité et de ne pas perdre le "recordsource" d'origine. C'est volontairement et pas par plaisir que j'ai choisi l'option "filtre".

Cordialement

Yann

vendredi 21 novembre 2008 à 16:06:02 | Re : Problème de filtre sur recordset ADODB

NHenry

Membre Club
Bonjour,

Ben ça change tout.

Donc je te précise que je n'ai jamais utilisé cet méthode et ce type de projet.
Donc je ne puis t'aider d'avantage.

Cordialement.
Nicolas.

Ma signature pour pointer sur mon site

samedi 22 novembre 2008 à 00:05:50 | Re : Problème de filtre sur recordset ADODB

LIBRE_MAX

Salut,
As-tu essayé rst.Filter = "[champ] = '%toto'"  ?

Like associé à un Jocker, n' est-il pas un pléonasme ?

[] Ce qui va sans dire. va mieux en le disant.



samedi 22 novembre 2008 à 00:39:38 | Re : Problème de filtre sur recordset ADODB

tri_yann

Bonjour,

Ca marche mais ne donne pas le bon résultat...
 avec "= '%toto'", SQL cherche le caractère "%" en tant que caractère et pas comme joker.
Avec un "Like '%toto'", il va chercher tout ce qui se termine par "toto".

Ce n'est pas un pléonasme

Cordialement.

Yann



Cette discussion est classé dans : recordset, champ, adodb, filtre, toto


Répondre à ce message

Sujets en rapport avec ce message

Filtre sur recordset [ par Seth77 ] mon prob : theStr = "toto#1" theRecordset.filter = "Name like "" & theStr & """" result : filter = "Name like "toto#1"" le caractere # n est pas pris DATAGRID + RECORDSET [ par aocorp ] Bonjour,Je voudrai savoir comment remplir une datagrid a partir d'un recordsetLa table comporte 2 champsVoici mon code :Dim cnnAdo As New ADODB.Connec SOS sur combo et filtre [ par soni ] Bonjour,J'ai un recrdset créé en ado par code.Tout va bien sur le recordset.Je le lie à un dbcombo ou une datalist pour afficher les valeurs d'un cham erreur prédicate: ?????????? HELP [ par ericzen ] J'ai créé un filtre sur un champ date d"une table lié via ODBC mais lorque je lance ce filtre j'obtiens une erreur Predicate:Que faire sachant que le Ajout d'un recordset. [ par blowlagoon ] Bonjour,J'ai un programme qui ajoute des lignes dans table Liée sous Access97 à partir de SqlServer2000.Ma table contient un champ ID identifient de l bleu ou rouge suivant la valeur d'un champ de mon recordset [ par Thrakkazz2000 ] Bonjour,j'ai un recordset que je veux rendre disponible pour l'utilisateur.Avec un datagrid, c'est couleur uniforme hors je veux qu'en fonction de la RecordSet, SQL, MshFlexGrid [ par chili ] Bonjour a tous,Je desire afficher la totalité d'un recordset dans une mshflexgrid, or je ne parvient a n'afficher que la premiere ligne, mon code est datagrid [ par Simaifou ] Salut tout le mondeJ' essaie en vain de charger la datasource d'une datagrid avec un adodb.recordset voici mon affaireform_load() dim rs as adodb.re Pb : test sur champ vide dans un recordset [ par mathieugorju ] Pb :G testé"if IsNull (rst.fields (indexChamp).value then traitement_champ_videelse traitement_champ_non_vide"ca marche pas idem pour "isEmpty ... "= Recordset ADO et DataGrid... Aidez moi, j'ai besoin d'un pro!!! [ par C17 ] Salut à tous, j'ai un gros problème, je veux utiliser une variable adodb.recordset pour gérer deux tables liées, je travailles avec un Shape, mais je


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,515 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.