begin process at 2012 02 17 05:50:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Base de données

 > 

ADO & DAO

 > 

Problème de filtre sur recordset ADODB


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de filtre sur recordset ADODB

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 Administrateur CodeS-SourceS
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 Administrateur CodeS-SourceS
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ée 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 ACCESS Filtre formulaire sur Inconsistent DAO RECORDSET [ par foliv57 ] Bonjour à tous, Je suis face à un problème de mise à jour de champ dans un formulaire après application d'un filtre. Voici l'exemple qui met en avan recordset et listbox help [ par gouyette ] Bonjour je débute en VB6, et je suis confronté au probleme suivant : Je desire accéder a une table sur un as400, avec une selection sql. Jusque la, ADODB.Connection ou ADODB.Recordset [ par sokotanic ] bonjouravec ADODB.Connection ou ADODB.Recordset j'aimerai utilise mon code SQL"SELECT * FROM matable" sans passe par open, car ma base de donner est d Récuperation du derniere valeur d'un champ de table access [ par abdmoneem ] salut pour tous S'il vous plait je suis débutant à l'utilisation de vb je suis entrain de faire un petit programme avec une base de données access m ADODB recordset, et datagrid [ par andalo ] Bonjour, je bloque sur la manipilation d'un recordset (rst).j'ai un tabstrip avec quatre onglet avec chacun un datagrid ces datagrids sont alimenté  ( Requête ADO en VBA [ par DevConf ] Bonjour,Je développe actuellement un add-in Outlook communiquant avec une base de données Access.J'ai fait une requête SELECT qui marche très bien.Je filtre table sous formulaire [ par TiteufA44 ] Bonsoir à tous, Débutant en VBA Access 2000, je souhaiterais résoudre un (petit) problème : J'ai une BD avec une seule Table (et une vingtaine de ch Filtre sur plusieurs requêtes dans formulaire via le même critère [ par tasmo23 ] Bonjour tout le monde,Je voudrai filtrer sur plusieurs requêtes un même champ afin d'afficher les informations relatives à l'ordre de fabrication choi ADODB [ par ricomiracle ] Bonjour, Voila j'ai quelques questions sur l'utilisation de l'outil ADO qui semble apporter des fonctionnamlités intéressantes en terme de manipulatio


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales