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

VB 6 et antérieur Discussion :

récupérer une variable dans un select case


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut récupérer une variable dans un select case
    Bonjour,
    je vous écris car j'ai un gros problème. En ce moment je dois une application pour l'améliorer. Mon problème est que je n'arrive pas récupérer une variable dans un select case.
    Par exemple, j'ai 3 cas :
    case nouvea, modifier, copier.
    Je voudrais attribuer une variable à nouveau et à modifier;
    Comment faire ? J'ai essayer plein de trucs mais sans succès.
    Est-ce que quelqu'un pourrait m'aider s'il-vous-plaît.
    merci

  2. #2
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Salut!
    Y'a plein de gens prêts à t'aider, ici.
    Mais je n'ai vraiment rien compris à ce que tu veux faire...

    Si tu pouvais nous expliquer ça mieux...

  3. #3
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    je vais essayer de faire mieux
    dons ma page de code est divisée en 2 parties, d'un côté dans le load j'ai un select case (nouveau, modifier et copier), de l'autre dans une fonction je dois faire du code en fonction du cas (qui figure dans le select case). je voudrais attribuer une variable selon le cas auquel appartient le client.

    J'espère m'être mieux exprimée

    Merci de l'aide

  4. #4
    Membre éclairé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Points : 742
    Points
    742
    Par défaut
    Montre le code !

  5. #5
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    voici le code
    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
    Public Sub Load
    Select Case Action
     
        Case NOUVEAU
           ...
     
     
        Case Modifier
       ...
     
        Case COPY
            ...
    end select
     
     
     
    Private Function Controle_RepertoireDocClient
    sql = "SELECT * FROM Client WHERE IDClient = " & IntClient
    Set rs = DE.Cnx.Execute(sql)
     
    'Si le cas est nouveau
    ...
     
     
    'Si le cas est modifier
    ...
     
    End Function

  6. #6
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Points : 1 241
    Points
    1 241
    Par défaut
    Bonjour
    Si j'ai bien compris tu veux qu'au moin un de tes Case du Sélect soit une variable.
    Inspires toi du code ci dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim myVar As String
    myVar = "Bibi"
    Select Case xxx
     case myvar
    ...
    Cependant je ne vois pas l'intérêt, puisque le Select Case te permet déà de tester le contenu d'une variable. Ou alors, peut être pour une certaine souplesse?

  7. #7
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    Je ne vois pas trop comment récupérer la valeur du select case si ma fonction ne se trouve pas dedans.

  8. #8
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Avec une variable publique à ta feuille :
    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
    33
    34
    35
    36
     
    Public Const NOUVEAU As String = "NOUVEAU"
    Public Const MODIFIER As String = "MODIFER"
    Public Const COPIE As String = "COPIE"
     
    Public sEtat as string 'etat en cours
     
    ...
     
    Public Sub Form_Load
     
        Select Case Action
            Case NOUVEAU
                sEtat = NOUVEAU
                ...
            Case MODIFIER
                sEtat = MODIFIER
                ...
            Case COPIE
                sEtat = COPIE
                ...
        End Select
    End Sub
     
    Private Function Controle_RepertoireDocClient
    sql = "SELECT * FROM Client WHERE IDClient = " & IntClient
    Set rs = DE.Cnx.Execute(sql)
     
    'Si le cas est nouveau
        If sEtat = NOUVEAU Then
            ....
     
    'Si le cas est modifier
    ...
     
    End Function

  9. #9
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    ok merci beaucoup
    je suis en train d'éssayer là mais j'ai un souci avec

    Public Const NOUVEAU = "NOUVEAU"
    Public const Modifier = "MODIFER"

    vb ne ve pa le prendre en compte

  10. #10
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Points : 1 241
    Points
    1 241
    Par défaut
    Avec le code, je vois mieux.
    Il te suffit d'appeler ta fonction depuis la procédure Load comme suit;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myVar = Controle_RepertoireDocClient
    Tu ajoutes dans ta fonction:dans chaque item de ton if
    ainsi que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Controle_RepertoireDocClient = myVar
    à la fin de la dite fonction.
    Ainsi, quand ta procédure Load appelle la fonction, la procédure renvoit la valeur voulu dans myVar. Et c'est cette dernière qu'il te faut tester dans ton Select Case.

  11. #11
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Points : 1 241
    Points
    1 241
    Par défaut
    Citation Envoyé par Xo
    Avec une variable publique à ta feuille :
    Ne vaut-il pas mieux éviter les variables plus ou moins globale autant que faire se peut?

  12. #12
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2005
    Messages : 64
    Points : 95
    Points
    95
    Par défaut
    Public Sub Load
    Select Case Action

    Case NOUVEAU
    ...


    Case Modifier
    ...

    Case COPY
    ...
    end select
    c'est quoi "Action" une variable ou une propriété ?
    de toute façon si elle est visible dans toute la feuille te peut l'utilisé dans ta fonction, si non tu peut la passé comme paramètre à cette dernière :
    Private Function Controle_RepertoireDocClient (mAction as [Type de la vriable Action])

  13. #13
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Points : 60
    Points
    60
    Par défaut
    merci beaucoup !!!
    j'ai une dernière questio avant de tester.
    MyTrans veut dire quoi ?

  14. #14
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Points : 1 241
    Points
    1 241
    Par défaut
    C'est la variable dont il faut renvoyer le contenu. J'aurais pu l'appeler myVar, mais j'ai préféré éviter toute confusion avec la variable dans Load.
    N'oublies pas de déclarer les deux variables dans chacune des procédure.
    Un dernier point: l'utilisation d'une fonction dans ce cas n'est justifiée que parce que la procédure Load ne peut recevoir d'argument. Sinon, il suffit d'appeler la procédure dans laquelle le SelectCase existe en lui passant un argument. Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub ProcedureAppel()
     ...
      if condition then
        myVar = xxx
        call ProcedureSelect(myVar)
    ---
    end sub
     
    Private Sun ProcedureSelect(myVar)
      Select Case myVar
        ...
    end sub
    Notes que là, j'ai utilise le même nom de variable (muVar) dans les deux procédures. Celà n'a aucune importance car étant déclarées chacune dans la procédure qui les contient, elles ont une portée locale.

Discussions similaires

  1. [Conception] Récupèrer une variable dans une liste déroulante
    Par olivier94 dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 21/02/2007, 12h12
  2. [Interbase] Récupérer une valeur dans un select
    Par ftoutin dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/01/2007, 13h36
  3. Récupérer une variable dans un script javascript
    Par Finelarme dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 28/10/2006, 18h41
  4. récupérer une valeur dans un selected
    Par lacfab dans le forum Langage
    Réponses: 6
    Dernier message: 14/12/2005, 09h48
  5. Pl/SQL utilisation d'une variable dans un select
    Par larg dans le forum PL/SQL
    Réponses: 17
    Dernier message: 30/11/2004, 17h08

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