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 :

Qui peut m'expliquer ?


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 148
    Points : 69
    Points
    69
    Par défaut Qui peut m'expliquer ?
    Bonjour,

    J'ai rencontré un petit souci pour lequel j'ai trouvé la solution mais j'aimerais comprendre pourquoi cela se résoud comme ça.
    Voilà. J'ai enregistré une requête dans les QueryDefs sous le nom ListeClients (visibles dans la rubrique Requête des objets de la BDD).
    Pour ajouter une clause WHERE à cette requête, je récupère l'instruction SQL dans une variable de type String, et j'utilise la fonction LEFT pour enlever le point-virgule final de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Dim SQL AS String
        SQL = CurrentDb.QueryDefs!listeClients.SQL
        SQL = Left(SQL, Len(SQL) - 3)
    Ce que j'aimerais comprendre, c'est pourquoi il faut enlever 3 caractères au lieu d'un seul. En effet, quand je demande la longueur de la chaîne SQL, le nombre renvoyé est 126. J'ai recompté plusieurs fois et la longueur de l'instruction dans l'objet requête est en fait 124. Il y a apparemment un espace à la fin (que j'ai compté). Comment se fait-il que Len(SQL) renvoie 126 ? Cette fonction compte-t-elle des guillemets ?
    Merci pour vos réponses.

  2. #2
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut Shankara,

    tu ne devrais pas trop te préoccuper de savoir pourquoi ca marche pas. estime toi heureux que ca marche.
    j'ai regardé ca rapidement, pour te répondre tous les caractères ne sont pas forcément visible: sans doute 3 caractères parce que tu as le point virgule et le retour à ligne généré automatiquement en fin qui lui prend 2 caractères.
    personnellement je te recommande plutot de retirer le point virgule avec REPLACE().


  3. #3
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonsoir,

    Si dans la fenêtre d'exécution tu tapes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ?(Right(CurrentDb.QueryDefs("listeClients").SQL, 2)=vbCrLf)
    et que tu appuies sur la touche Entrée, ça devrait afficher Vrai.

    Ça veut dire que la chaîne de caractère se termine par un retour chariot (vbCrLf),
    lequel est constitué de deux caractères dans Windows : Chr(13) + Chr(10).

    A+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 148
    Points : 69
    Points
    69
    Par défaut
    Merci pour vos réponses !
    Je n'aime pas ne pas comprendre

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

Discussions similaires

  1. QUi peut m'expliquer cette commande: myisamchk -r log_visitor_info.MYI
    Par guillaume7684 dans le forum Administration
    Réponses: 2
    Dernier message: 26/12/2010, 11h13
  2. Qui peut m'expliquer
    Par peter27x dans le forum Débuter
    Réponses: 16
    Dernier message: 04/02/2009, 09h09
  3. [UBUNTU] Qui peut m'expliquer ce qu'est un live cd ?
    Par Jihed Amine Maaref dans le forum Ubuntu
    Réponses: 21
    Dernier message: 29/08/2006, 21h04
  4. qui peut m'expliquer ce script?
    Par nouna dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 22
    Dernier message: 20/10/2005, 22h33

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