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 :

Comment joindre dans une ligne de code


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Points : 79
    Points
    79
    Par défaut Comment joindre dans une ligne de code
    Bonjour,

    Je me demande comment fait-on pour joindre deux champs en VBA comme en SQL.

    Voici le code en SQL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCTROW champ1 &" / " champ2
    FROM tbl_tableA
    Voici mon code en VBA:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Function ordre(A As String, B As String) As Integer
    Dim strSQL As String
    strSQL = "SELECT DISTINCTROW champ1, champ2 FROM TableA"
    strSQL = strSQL & " ORDER BY  " & A & " " & B
    Me!lstSearch.RowSource = strSQL
    Me!lstSearch.Requery
    End Function
    Il veut créer le même résultat avec la troisième ligne soit "SELECT DISTINCTROW champ1, champ2 FROM TableA".

    Est-ce que vous pouvez m'aider au niveau de la syntaxe à utiliser ?

    Merci,
    egg3774

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Désolé, mais je ne comprends pas ta question.

    Par contre, il te manque une virgule dans le order by :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    strSQL = "SELECT DISTINCTROW champ1, champ2 FROM TableA"
    strSQL = strSQL & " ORDER BY  " & A & ", " & B

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Points : 79
    Points
    79
    Par défaut
    Alors je vais mis prendre autrement.

    Avec du code SQL, lorsque nous voulons faire apparaitre le contenu de deux champs dans la même zone de texte, il suffit d'entrer le code suivant (exemple):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCTROW champ1 &" / " champ2 As Expr1
    FROM tbl_tableA
    Cependant, il est plus compliquer de faire la même chose en VBA. Alors, exist-il une façon d'obtenir le même résultat en VBA ?

    Merci

    egg3774

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,
    Citation Envoyé par egg3774 Voir le message
    Avec du code SQL, lorsque nous voulons faire apparaitre le contenu de deux champs dans la même zone de texte, il suffit d'entrer le code suivant (exemple):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCTROW champ1 &" / " champ2 As Expr1
    FROM tbl_tableA
    Cependant, il est plus compliquer de faire la même chose en VBA.

    Alors, exist-il une façon d'obtenir le même résultat en VBA ?
    Oui, c'est quasiment la même chose:

    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Function ordre(A As String, B As String) As Integer
        Dim strSQL As String
     
        strSQL = "SELECT DISTINCTROW champ1 & '/' & champ2 FROM TableA "
        strSQL = strSQL & " ORDER BY [" & A & "], [" & B & "]"
     
        Me!lstSearch.RowSource = strSQL
        Me!lstSearch.Requery
    End Function
    En prime:
    Ne sachant pas quelle est l'orthographe des champs passés en paramètre de ta fonction ordre, il vaudrait mieux se protéger de possibles caractères non standards. Pour ça, il suffit d'encadrer ces noms de champs par des crochets.

    P.S. ici il faudrait dire "concaténer" (et non pas "joindre").

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par =JBO= Voir le message
    Bonjour,


    Oui, c'est quasiment la même chose:

    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Function ordre(A As String, B As String) As Integer
        Dim strSQL As String
     
        strSQL = "SELECT DISTINCTROW champ1 & '/' & champ2 FROM TableA "
        strSQL = strSQL & " ORDER BY [" & A & "], [" & B & "]"
     
        Me!lstSearch.RowSource = strSQL
        Me!lstSearch.Requery
    End Function
    En prime:
    Ne sachant pas quelle est l'orthographe des champs passés en paramètre de ta fonction ordre, il vaudrait mieux se protéger de possibles caractères non standards. Pour ça, il suffit d'encadrer ces noms de champs par des crochets.

    P.S. ici il faudrait dire "concaténer" (et non pas "joindre").
    Un gros merci. Ca fonctionne ma concaténation

Discussions similaires

  1. java probleme dans une ligne de code(lien mort)
    Par cecilfinal dans le forum Général Java
    Réponses: 4
    Dernier message: 12/06/2011, 09h34
  2. Combien de condition "And" peut on mettre dans une ligne de code
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/04/2010, 15h39
  3. erreur d'éxecution dans une ligne de code
    Par orlacit dans le forum VBA Access
    Réponses: 9
    Dernier message: 16/11/2007, 10h58
  4. Bug dans une ligne de code VBA
    Par orlacit dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/11/2007, 15h25
  5. Réponses: 5
    Dernier message: 02/09/2006, 15h10

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