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 :

Concatenation de champs texte, dont 1 qui peut être sans valeur. [AC-97]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 21
    Points : 18
    Points
    18
    Par défaut Concatenation de champs texte, dont 1 qui peut être sans valeur.
    Bonjour,

    Je souhaite concatener 3 chaines de caractères. Cependant, une de ces chaines, Boite, peut ne pas contenir de données.
    Au niveau de la table, je n'ai pas mis de valeur par défaut.

    Lorsque cette chaine ne contient pas de valeur, la concatenation donne un champ vide comme valeur.
    J'ai donc opté pour une condition If afin de concatener ou pas en fonction de la valeur du 3ème champ.
    Le problème est que la condition n'est jamais vérifiéeet passe toujours au Else.
    J'ai pourtant essayé de vérifier le champ par rapport à Null ou "", mais en vain.

    Voici le code :

    If Boite = Null Then
    Me.Ad1 = Rue + " " + Numéro
    Else
    Me.Ad1 = Rue + " " + Numéro + " " + Boite
    End If
    Comment faire ?

    Merci (:

  2. #2
    Nouveau membre du Club
    Inscrit en
    Août 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 16
    Points : 35
    Points
    35
    Par défaut
    Bonjour cacoubalboa ,

    <J'ai pourtant essayé de vérifier le champ par rapport à Null ou "", mais en vain.>
    Il faut tester l'inverse.
    Non pas mavar="" ... mais mavar <>"" ... c'est du Access et le résultat sera plus probant.

    Mais dans ton cas il n'y (en théorie) aucun test à faire.
    Si la variable boite est vide -> elle ne renvoie aucune valeur et le fait qu'elle soient la dernière ajoutée est arrangeant dans ce cas.

    Pour que ta concaténation réponde essaye de mettre des "&" plutôt que des "+".
    >> Me.Ad1 = Rue & " " & Numéro & " " & Boite

    Il me semble que c'est un problème de cast avec le type variant.
    C'est pour cette raison que je mets toujours "Option Explicit" dans mes projets.
    Il te force à déclarer les types de variables et tu te rends mieux compte des problèmes lors d'opération.

    Olivier

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Un grand merci,

    Les 2 techniques fonctionnent très bien.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/08/2010, 16h01
  2. [XL-2007] importer un csv texte dont une cellule peut contenir plusieurs lignes
    Par fourchette dans le forum Excel
    Réponses: 1
    Dernier message: 16/07/2010, 12h17
  3. Réponses: 4
    Dernier message: 11/12/2007, 11h59
  4. pb pour recuperer un champ texte dont le nom change
    Par birame dans le forum Langage
    Réponses: 3
    Dernier message: 05/06/2007, 09h57
  5. [Access][SQL] Filtrer un champ text qui peut être NULL
    Par aumax1 dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/04/2006, 08h40

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