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

Requêtes et SQL. Discussion :

Filtre dans une requête


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 46
    Points : 44
    Points
    44
    Par défaut Filtre dans une requête
    Bonjour à tous,

    Via un courrier Word, j'ouvre ma base access (Set aDB = OpenDatabase("P:\xxxxxx.mdb") puis, après avoir récupéré une variable suite à un choix dans une liste, je "passe" cette variable à Set aRc = aDB.OpenRecordset("MaVariable") pour ouvrir la requête Mavariable.

    A ce jour, j'ai x requêtes sur lesquelles je pointe en fonction du choix de la variable MaVariable (mes x requêtes pointent elle-mêmes sur x tables).

    Je voudrez essayer de compacter tout cela d'ou ma question :

    Je voudrais regrouper les x tables en une seule et je voudrais donc que ma requête initialer comporte un filtre permettant de n'avoir que les enregistrement souhaités : donc est-il possible qu'une requête, dans son critère de filtrage comprenne une variable (qui provienne de Word ou d'ailleurs).

    Jusqu'à présent j'ai posé des filtres sur une requête qui provienne d'un champ de formulaire, mais je n'ai pas essayé ceci.

    est-ce possible et si oui comment le faire car si je rentre mon nom de variable dans critère, il se met entre côte et est considéré comme du texte.

    Merci de votre aide

    PS : j'espère avoir été compréhensible

  2. #2
    Membre expérimenté
    Avatar de FRED.G
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 032
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 032
    Points : 1 505
    Points
    1 505
    Par défaut
    Citation Envoyé par pat04
    est-il possible qu'une requête, dans son critère de filtrage comprenne une variable (qui provienne de Word ou d'ailleurs)
    Non. Par conséquent tu devras résoudre ton problème de l'une de ces 3 façons :

    - en construisant dynamiquement la clause WHERE de l'instruction SQL que tu passe à la méthode OpenRecordset. Tu fais une concaténation de l'instruction SELECT de base et de ton critère fourni par la variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim SQL as String
    SQL = "SELECT * FROM MATABLE WHERE CHAMP1=""" & VariableCritère & """);"
    - en passant par une fonction que tu insères dans ton instruction SQL (statique cette fois) et qui pointe vers la variable du critère. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function GetCritère () as String
      GetCritère = VariableCritère 'Cette variable doit être accessible à GetCritère et à jour au moment où GetCritère est appelée. 
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim SQL as String
    SQL = "SELECT * FROM MATABLE WHERE CHAMP1=""GetCritère()"");"
    - en passant par une requête paramétrée enregistrée (ma solution préférée) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With aDB.queryDefs("NomRequête")
      .Parameters("MonCritère")=VariableCritère 'ici aussi il faut que cette variable soit accessible et à jour au moment de l'appel...*
      .OpenRecordset()
     
    ...
     
    End With

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

Discussions similaires

  1. [AC-2010] Comment faire un filtre dans une requête
    Par Snakes1 dans le forum Access
    Réponses: 1
    Dernier message: 01/05/2013, 03h31
  2. Réponses: 4
    Dernier message: 26/02/2008, 09h55
  3. Réponses: 4
    Dernier message: 22/02/2008, 10h02
  4. Filtre dans une requête LDAP
    Par czezko dans le forum Windows Forms
    Réponses: 3
    Dernier message: 20/04/2007, 14h37
  5. filtre dans une requête sql ?
    Par jessy212 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 02/09/2006, 16h29

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