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

VBA Access Discussion :

Variable + Joker SQL/VBA


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 52
    Points : 38
    Points
    38
    Par défaut Variable + Joker SQL/VBA
    Bonsoir à tous,

    je sèche sur une requête SQL executée depuis un évenement VBA sous Access.

    J'ai une requête, avec laquelle je souhaite interroger toutes les stations qui correspondent à * variable *
    je m'explique: Le nom des stations est composé de "description NUMERO description"
    Alors le numéro je l'ai en variable dans une autre table, et la description, j'aimerai l'avoir en caractère Joker ....
    sous Access pure, ça fonctionne avec le code SQl suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCT Linienabfolge.[PLADIS-Haltestellennummer], Linienabfolge.Haltestellenbezeichnung, Linienabfolge.Linienvariantenbezeichnung
    FROM Linienabfolge, T_Variables03, T_Variables04
    WHERE (((Linienabfolge.Linienvariantenbezeichnung) Like ([T_Variables03].[Variable]) & '-' & ([T_Variables04].[Variable]) & '*'));
    Mais dans VB avec le code qui suit, ça ne fonctionne pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VariableRecherche = "SELECT T_UNI_LINIE.strLinienIdVU FROM T_UNI_LINIE, T_Variables WHERE T_UNI_Linie.strLiniennummerBezeichnung LIKE '%T_Variables.Variable%'"
    ceci n'est qu'une ligne du code, les variables sont déclarées etc. j'effectue d'autres requetes sql avant celle-ci. toutes fonctionnent sauf celle-ci.
    comment puis-je concaténer le code avec les caractères joker? je penses que l'erreur vient de là !
    D'avance merci pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Dans un premier temps, c'est le * et non le % qu'il faut utiliser dans le SQL Access.

    Philippe

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 52
    Points : 38
    Points
    38
    Par défaut
    Merci pour l'astuce.
    par contre je n'arrive toujours pas à effectuer la rechercher ...

    je ne dois pas concaténéer le joker et le string ?
    du genre '*' & T_Variables.Variable & '*' ?
    c'est à venir dingue j'ai écumé passablement de How To sur le net, et c'est chaque fois une autre façon de faire, sans résultat dans mon cas

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 282
    Points : 356
    Points
    356
    Par défaut
    Bonjour,

    Le resultat d'une requete est 1 ou plusieurs d'enregistrements contenant 1 ou plusieurs champs. Il est donc impossible d'en prendre le resultat tel quel dans une variable.
    Pour ce faire, tu dois soit :
    • ouvrir la requete en utilisant un recordset et en specifiant alors, d'une maniere ou d'une autre, quel champ de quel enregistrement tu veux reprendre dans ta variable
    • dans les cas simples (recherche d'1 champ dans une seule table, avec ou sans condition) , utiliser une fonction de "domaine" telle que DLookup (RechDom, en français)


    Si nécessaire, tu trouveras beaucoup d'exemples des deux cas dans la F.A.Q. et dans les tutoriels.

    Bon courage !
    - Bien programmer n'est pas choisir la solution la plus simple, mais la meilleure -

  5. #5
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 891
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 891
    Points : 4 774
    Points
    4 774
    Par défaut
    Encore la place des "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    VariableRecherche = "SELECT T_UNI_LINIE.strLinienIdVU FROM T_UNI_LINIE, T_Variables WHERE T_UNI_Linie.strLiniennummerBezeichnung LIKE '%" & T_Variables.Variable & "%'"
    ...
    "Always look at the bright side of life." Monty Python.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 52
    Points : 38
    Points
    38
    Par défaut
    Merci pour votre aide.
    voici la solution qui fonctionne dans ma DB pour finir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            SQL = "INSERT INTO T_Variables03 (Variable) "
            SQL = SQL & "SELECT DISTINCT T_UNI_LINIE.strLinienIdVU "
            SQL = SQL & "FROM T_UNI_LINIE "
            SQL = SQL & "WHERE T_UNI_LINIE.strLiniennummerBezeichnung  LIKE '*" & Kombinationsfeld3 & "*'"
    Bonnes salutations

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

Discussions similaires

  1. [AC-2010] Query SQL VBA (Insert INTO) avec Conditions en variable (Date)
    Par Deustalos dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 12/03/2015, 21h15
  2. [SQL-VBA] Variable en parametre de requete SQL
    Par Zawawi dans le forum VBA Access
    Réponses: 9
    Dernier message: 07/11/2007, 20h57
  3. [SQL & VBA] Requête avec Variable
    Par Altrensa dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/07/2007, 14h31
  4. Réponses: 10
    Dernier message: 11/07/2007, 12h06
  5. [SQL] [VBA] signe de ponctuation dans une variable
    Par baboulilie dans le forum Access
    Réponses: 5
    Dernier message: 30/01/2007, 18h12

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