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

Access Discussion :

Comment utiliser le contenu d'une variable string comme nom de variable [AC-2010]


Sujet :

Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 146
    Par défaut Comment utiliser le contenu d'une variable string comme nom de variable
    Bonjour à tous,

    Je voudrais utiliser la chaîne de caractères d'une variable (string) comme nom de variable (existante).
    Comment dois-je proceder ?

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Option Compare Database
    Dim lastChecked As String
     
    Private Sub chkBox1_Click()
        lastChecked = "chkBox1"
        Call Filtre1
    End Sub
     
    Private Sub chkBox2_Click()
        lastChecked = "chkBox2"
        Call Filtre1
    End Sub
     
    Private Sub chkBox3_Click()
        lastChecked = "chkBox3"
        Call Filtre1
    End Sub
     
    Private Sub chkBox4_Click()
        lastChecked = "chkBox4"
        Call Filtre1
    End Sub
     
    Private Sub Filtre1()
    .
    .       'Quelque part dans le code :
    .
    	Me.chkBoxX.Value = False		'utiliser la variable (string) dans la déclaration pour obtenir par exemple "Me.chkBox3.Value = False" lorsque "lastChecked" = "chkBox3"
    .
    .
    .
    End Sub
    Pour éviter ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        If lastChecked = "chkBox1" Then
        Me.chkBox1.Value = False
        ElseIf lastChecked = "chkBox2" Then
        Me.chkBox2.Value = False
        ElseIf lastChecked = "chkBox3" Then
        Me.chkBox3.Value = False
        ElseIf lastChecked = "chkBox4" Then
        Me.chkBox4.Value = False
    	End If

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 960
    Par défaut
    bonjour,
    il faut utiliser la propriété controls() du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Controls(lastChecked) = False

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 146
    Par défaut récupérer la chaîne d'une variable string comme nom de variable
    Bonjour tee_grandbois,

    Merci, c'est simple et ça marche à merveille!

    Mais est-il néanmoins possible (pour d'autres cas) de récupérer la chaîne d'une variable string comme nom de variable ?

    Gaston

  4. #4
    Membre très actif Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 941
    Par défaut
    Bonjour,
    La fonction Eval évalue une expression qui génère une chaîne de texte ou une valeur numérique.
    Bon DEV
    .

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2019
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2019
    Messages : 146
    Par défaut
    Merci star.

    Cela semble être une bonne piste dans le sens que je voulais.

    Je vais regarder ça de plus près en faisant quelques tests.

    Bonne fin de journée,
    Gaston

  6. #6
    Membre très actif Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 941
    Par défaut
    Bonjour,
    Serait-ce possible d'avoir un aperçu de la solution adoptée ?
    .

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/02/2016, 10h13
  2. Réponses: 12
    Dernier message: 17/01/2008, 11h46
  3. Réponses: 1
    Dernier message: 20/11/2007, 15h15
  4. [XSLT]comment utiliser xsl:if avec une variable
    Par dbill dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 22/08/2007, 13h23
  5. Comment afficher le contenu d'une variable ?
    Par innova dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/06/2007, 11h45

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