IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

.Filter sur ADODB : Impossible de trouver l'objet dans la connexion


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Par défaut .Filter sur ADODB : Impossible de trouver l'objet dans la connexion
    Bonjour ,

    J'ai un problème sur un recordset avec ADODB

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    With rs
        .ActiveConnection = con
        .Open " SELECT [Composant] FROM nomenclature WHERE Article = '" & Sheets("ListeArticle").Cells(i, 2) & "' "
        .Filter = "[composantnomenclature.nomenclature]='AS*'"
     
    End With
    .Open va chercher toutes les occurences de la colonne Composant de la table nomenclature ou l'Article respecte une valeur dans une cellule

    .Filter filtre toutes les occurences et ne selectionne que celles ou la colonne composantnomenclature commence par AS.

    Problème : Impossible de trouver l'objet dans la collection correspondant au nom ou à la réference demandée.

    Des idées ?


    [EDIT] J'ai également tenté de créer une requete access incluant ce filtre , mais .Open n'arrive pas à lire les données . Je n'ai pas de message d'erreur , mais les données correspondantes ne sont pas affichées...

    Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 207
    Par défaut
    Citation Envoyé par kelvir Voir le message
    [EDIT] J'ai également tenté de créer une requete access incluant ce filtre , mais .Open n'arrive pas à lire les données . Je n'ai pas de message d'erreur , mais les données correspondantes ne sont pas affichées
    Effectivement, je pense qu'il est préférable d'inclure le dernier critère dans la recherche plutôt que d'appliquer un filtre sur le résultat. Car dans ce dernier cas, ton recordset contiendra aussi les résultats que tu ne veux pas.

    Ta bdd est une base Access? Est-ce que la requête fonctionne sous Access?

    Petite remarque d'ailleurs, Access n'utilise pas des apostrophes mais des guillements pour délimiter les chaines des carcactère. Et pour accéder à des bdd Access, DAO est plus adapté que ADO (qui est plus générique).

  3. #3
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Par défaut
    La requete fonctionne mais je n'arrive pas à l'appeler depuis excel

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 207
    Par défaut
    As-tu essayé en enlevant les apostrophes?

    Sur quelle ligne cela plante-t-il?

    Poste le reste de ton code également que l'on puisse voir comment tu as défini 'con', ce que vaut 'i'...En dernier recours je peux probablement te proposer une solution avec DAO (que je connais beaucoup mieux qu'ADO que je n'utilise jamais) mais il doit bien y avoir 2-3 personnes sur ce forum calées en ADO et qui pourront t'aider mieux que moi.

  5. #5
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Par défaut
    ca bloque au niveau du .filter
    J'ai essayé toutes les syntaxes possibles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "data source=X:\SAP.mdb;"
    con.Open

  6. #6
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonjour,

    question peut-être idiote, mais pourquoi .Filter en plus d'une clause Where ?

    La Clause Where sert à filtrer par définition.

    ------Edit---

    Sinon, un peu d'inspiration dans la faq

  7. #7
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Par défaut
    J'ai déjà essayé mais visiblement ca ne fonctionne pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/11/2014, 17h41
  2. [OL-2007] Impossible de trouver un objet! lequel ?!?
    Par CCBOSS91 dans le forum Outlook
    Réponses: 4
    Dernier message: 11/12/2010, 08h55
  3. Réponses: 1
    Dernier message: 18/06/2010, 16h58
  4. Impossible de trouver l'objet..
    Par XeonB dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 15/09/2009, 19h23
  5. Réponses: 13
    Dernier message: 25/01/2006, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo