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 :

Concaténation entre texte et zone de liste déroulante [AC-2016]


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut Concaténation entre texte et zone de liste déroulante
    Bonjour
    Je débute encore

    je souhaite concaténer une partie de texte "commune" et une lettre située dans une zone de liste déroulante, ceci afin d'appeler une fonction ensuite .
    la zone de liste déroulante s'appelle "ParamPlanningOrigine" située dans le formulaire "F_DuplicationPlanningPersonnel"
    la partie en texte est: "T_PlanningPersonnel_"
    la partie de la zone déroulante est une lettre: A , B , C ou D
    Le but est d'obtenir "T_PlanningPersonnel_A" ou "T_PlanningPersonnel_B"... etc pour appeler une fonction.
    Le code d'appel de la fonctionqui ne fonctionne pas avec la concaténation telle quelle)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call CopiePlanningPersonnel("T_PlanningPersonnel_" & "" & [F_DuplicationPlanningPersonnel]![ParamPlanningOrigine], "T_PlanningPersonnel_B", 7, 7)
    si je met "en direct" par éxemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call CopiePlanningPersonnel("T_PlanningPersonnel_A", "T_PlanningPersonnel_B", 7, 7)
    cela fonctionne

    pour info l'en tête de la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Function CopiePlanningPersonnel(tblsource As String, tblfinale As String, idPersonnel As Long, idPersonnelDest As Long)
    J'ai fait moultes essais, mais sans succès...

    Merci pour vos lumières

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    quelle colonne de la liste contient la lettre 1ère (0), seconde (1) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call CopiePlanningPersonnel("T_PlanningPersonnel_"  & [F_DuplicationPlanningPersonnel]![ParamPlanningOrigine].column(0), "T_PlanningPersonnel_B", 7, 7)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    merci de ton interêt

    il n'y a qu'une seule colonne, donc j'ai laissé le 0.
    Nom : Capture2.JPG
Affichages : 146
Taille : 33,9 Ko

    Par contre avec le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CmdDuplicationPlanningPersonnel_Click()
     
    Call CopiePlanningPersonnel("T_PlanningPersonnel_" & [F_DuplicationPlanningPersonnel]![ParamPlanningOrigine].Column(0), "T_PlanningPersonnel_B", 7, 7)
     
    End Sub
    j'obtiens un message d'erreur:
    Nom : Capture1.JPG
Affichages : 142
Taille : 17,1 Ko

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    il ne trouve pas un champ ... c'est quoi "Suivi Planning" ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    c'est le nom de l'appli...
    Nom : Capture2.JPG
Affichages : 148
Taille : 11,6 Ko

  6. #6
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    pourtant le nom du formulaire et celui du champ m'ont l'air justes:
    Nom : Capture1.JPG
Affichages : 157
Taille : 32,3 Ko

    je ne vois pas ce qu'il ne trouve pas...

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    passe par une variable pour charger le nom de la table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim StNomTableO as String
    StNomTableO  = "T_PlanningPersonnel_" & [F_DuplicationPlanningPersonnel]![ParamPlanningOrigine]
    Ce n'est pas ce qui va régler le problème mais seulement l'isoler
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  8. #8
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Bonjour,

    Cette syntaxe fonctionne pour accéder à un champ d'un sous-formulaire.
    Est-ce le cas ?

    Si la fonction est appelé depuis un module externe au formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    forms("F_DuplicationPlanningPersonnel")![ParamPlanningOrigine]

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    mais c'est un champ indépendant donc il faut un . pas un ! :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [F_DuplicationPlanningPersonnel].[ParamPlanningOrigine]
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  10. #10
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    Merci à tous les deux

    Pour Arkham46:
    le code d'appel de la fonction est situé dans le même formulaire que les champs indépendants établissant les paramètres.
    la fonction est publique située dans un module standard
    l'ajout du forms est concluant!!

    Pour tee_grandbois:
    changer juste le . n'a rien changé, toujours la même erreur...


    Je suis passé par des variables car au final les 4 paramètres sont définis dans le formulaire

    Le code (qui fonctionne) donne ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub CmdDuplicationPlanningPersonnel_Click()
     
    Dim StPersonnelOrig As Long
    Dim StPersonnelDest As Long
    Dim StTableOrig As String
    Dim StTableDest As String
     
    StPersonnelOrig = Forms("F_DuplicationPlanningPersonnel")![ParamPersonnelOrig].Column(0)
    StPersonnelDest = Forms("F_DuplicationPlanningPersonnel")![ParamPersonnelDest].Column(0)
    StTableOrig = "T_PlanningPersonnel_" & Forms("F_DuplicationPlanningPersonnel")![ParamPlanningOrigine].Column(0)
    StTableDest = "T_PlanningPersonnel_" & Forms("F_DuplicationPlanningPersonnel")![ParamPlanningDest].Column(0)
     
    Call CopiePlanningPersonnel(StTableOrig, StTableDest, StPersonnelOrig, StPersonnelDest)
     
    End Sub
    Merci encore à tous les deux, je met résolu

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    la fonction est publique située dans un module standard
    information d'importance ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  12. #12
    Membre confirmé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Points : 570
    Points
    570
    Par défaut
    Désolé si je n'ai pas été assez explicite

    J'ai toujours peur de trop en mettre ... pas facile de donner les informations pertinentes

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    ceci afin d'appeler une fonction ensuite
    tu l'avais pourtant mis mais je suis passé à coté
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

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

Discussions similaires

  1. [AC-2003] Remplissage champs texte par zone de liste déroulante
    Par VBchris dans le forum Access
    Réponses: 0
    Dernier message: 18/09/2009, 09h43
  2. Lier zone de texte à zone de liste déroulante
    Par Zinemon dans le forum IHM
    Réponses: 4
    Dernier message: 24/09/2007, 09h10
  3. Renvoyer le texte d'une zone de liste déroulante
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 05/09/2007, 19h57
  4. Réponses: 3
    Dernier message: 24/02/2007, 15h21
  5. Zone de liste déroulante et zone de texte
    Par lapaz dans le forum IHM
    Réponses: 3
    Dernier message: 21/02/2007, 12h49

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