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 :

[VBA-A]Portée des variables


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Par défaut [VBA-A]Portée des variables
    Bonjour,
    Trois jours que je suis sur un problème de portée de variable sur Access :
    Explications : Suite à une requête j'affiche différentes caracactéristiques d'une entreprise et lorque je clique sur une ligne du tableau je devrais avoir un nouveau formulaire avec une nouvelle listbox qui devrait m'afficher les différentes adresses de cette entreprise (en effet il peut en exister une infinité).
    Le problème c'est qu'Access ne prend pas en compte sur le second formulaire la varibale nom societe qui me permet d'effectuer ma seconde requête.
    Voici mon bout de 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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Public Sub cherch_cont_soc()
    '=============DECLARATION DES VARIABLES====================='
     
    Dim num_colonne As Integer
    Dim nom_societe As String
    Dim SQLLieu As String
    Dim SQLwhereLieu As String
     
    '=====================PROCEDURE======================================'
     
    ' On affecte à la variable nom_societe la valeur de la case repérée par son numéro
    ' de colonne le nom de la société) et la ligne sélectionnée à l'aide de la souris
     
    num_colonne = 0
     
    If Form_F_crit_rech_soc.lst_res.Column(num_colonne) <> Null Then
    ' On teste la valeur de la Form_F_crit_rech_soc.lst_res.Column(num_colonne) 
    ' pour savoir si elle n'est pas NULL (évite un bug)
        nom_societe = Form_F_crit_rech_soc.lst_res.Column(num_colonne)
    'On affecte au label nom soc du formulaire F_soc_contact la valeur contenu dans nom_societe'
        Form_F_soc_contact.lbl_nom_soc.Caption = nom_societe
    End If
     
    ' On affecte à la variable SQLLieu le début de la requête SQL à effectuer pour connaître
    ' les différentes adresses de l'entreprise sélectionnée, on renseigne la requête 
    ' sur les champs à rechercher et on effectue les jointures entre les différents tables
     
    SQLLieu = "SELECT [LIEU.nom_rue] as Rue, [LIEU.code_postale] as CP, [LOCALITE.ville] as Ville, [LOCALITE.pays] as Pays " & _
    "FROM LOCALITE INNER JOIN (SOCIETE INNER JOIN LIEU ON SOCIETE.id_societe=LIEU.id_societe) ON LOCALITE.code_postale=LIEU.code_postale " & _
    "WHERE LIEU!id_lieu <> 0 "
     
    SQLLieu = SQLLieu & "AND [SOCIETE.nom_soc] = '& nom_societe &' "
    SQLLieu = SQLLieu & ";"
     
    SQLwhereLieu = Trim(Right(SQLLieu, Len(SQLLieu) - InStr(SQLLieu, "Where ") - Len("Where ") + 1))
    Form_F_soc_contact.lst_res_lieu.RowSource = SQLLieu
    Form_F_soc_contact.lst_res_lieu.Requery
    End Sub
     
    APPEL de la procédure :
     
    Private Sub lst_res_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    DoCmd.OpenForm ("F_soc_contact")
    cherch_cont_soc
    End Sub

  2. #2
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    ta variable nom_societe est locale à la procédure cherch_cont_soc, elle est donc perdu en dehors

    declare nom_societe en Public dans un module standard


    Et n'oublie pas les balises de code (que j'ai rajouté pour toi) la prochaine fois, Merci

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/02/2005, 09h05
  2. [FLASH MX] Portée des variables ???
    Par mic79 dans le forum Flash
    Réponses: 2
    Dernier message: 08/02/2005, 10h21
  3. Portée des variables vbscript vers ASP
    Par Immobilis dans le forum ASP
    Réponses: 3
    Dernier message: 03/11/2004, 10h14
  4. [XSL]Problème de portée des variables
    Par djulesp dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/09/2004, 10h34
  5. [Portée] portée des variables
    Par parksto dans le forum Langage
    Réponses: 7
    Dernier message: 09/05/2004, 21h05

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