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 :

Stocker plusieurs valeurs


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 298
    Par défaut Stocker plusieurs valeurs
    Bonjour,

    J'ai la fonction suivante :

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    'Permet de remplir le planning quand on navigue entre les différentes semaines
    Private Sub Remplir_Planning(ByVal Datest As String, ByVal Idc As Integer, ByVal Chrono As String, ByVal Intitule As String, ByVal Rang As String, ByVal Datec As String)
     
    Dim db As Database
    Set db = CurrentDb
     
    Dim rqChrono As Recordset
    Dim Chro As Long
     
    Dim Datev As Date
    Dim Id As Integer
     
    Dim maDate As String
     
    Dim rqVisites As Recordset
    Dim Inti As String
    Dim Rg As String
    Dim Date_Contact As Date
     
    'récupère la date du planning
    maDate = Me.Controls(Datest).Value
    Datev = Left(maDate, 2) & Right(scrCDate, 8)
     
    'requête pour récupérer le chrono
    Set rqChrono = db.OpenRecordset("SELECT Chrono From CRP WHERE Date = #" & Datev & "# And ID_Employe = " & Idc)
     
    If rqChrono.EOF = False Then
        Chro = rqChrono(0)
    Else
        Chro = 0
    End If
     
    If (Chro <> 0) Then
        Set rqVisites = db.OpenRecordset("SELECT Intitule, Rang,Date_Prise_Contact FROM Visites WHERE Chrono = " & Chro)
        If rqVisites.EOF = False Then
            Inti = rqVisites(0)
            Rg = rqVisites(1)
            Date_Contact = rqVisites(2)
        Else
            Inti = ""
            Rg = ""
            Date_Contact = Null
        End If
        MsgBox (Date_Contact)
        'insertion du chrono sur le planning
        Me.Controls(Chrono).Value = Chro
        Me.Controls(Intitule).Value = Inti
        Me.Controls(Rang).Value = Rg
        Me.Controls(Datec).Value = Date_Contact
    Else
        Me.Controls(Chrono).Value = Null
        Me.Controls(Intitule).Value = ""
        Me.Controls(Rang).Value = ""
        Me.Controls(Datec).Value = Null
    End If
     
    End Sub
    Tout ces paramètres sont des noms de contrôle.

    Je dois appeler cette fonction à chaque fois que je clique sur un bouton, mais je dois le faire avec 49 combinaison de paramètres.

    J'aimerais donc savoir s'il existe des listes comme sous Virtual basic me permettant de stocker les noms de mes contrôle.

    Cela me permettrais à l'aide d'une boucle d'appeler plusieurs fois ma procédure au lieu de la coller 49 fois.

    merci à ceux qui prendront la peine de lire tout ça

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Absolument, tu peux passer un contrôle en paramêtre d'une fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public sub MaFonction(prmControl as control)
    Tu peux même typer tes paramêtres en étant plus spécifique ex : as TextBox

    Tu peux aussi définir des tableaux de controles, des collections de contrôles ou utiliser la collection Controls du formlaire.

    Ce petit bout de code affiche, dans la fenêtre de débuggage, le nom de tous les contrôles du formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dim c as control
    for each c in me.controls
       debug.print c.name
    next c
    A+
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Stocker plusieurs valeurs dans une seule colonne
    Par pitav dans le forum Langage SQL
    Réponses: 5
    Dernier message: 30/11/2014, 17h46
  2. Stocker plusieurs valeurs dans une variable Session
    Par PrinceMaster77 dans le forum Langage
    Réponses: 3
    Dernier message: 05/01/2010, 11h04
  3. Réponses: 4
    Dernier message: 10/11/2008, 08h04
  4. Réponses: 3
    Dernier message: 02/06/2008, 10h52
  5. [Composant] Drag & Drop de plusieurs valeurs à la fois
    Par slowpoke dans le forum Composants VCL
    Réponses: 3
    Dernier message: 23/12/2003, 10h26

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