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 :

Liste des clients dans msgbox


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 192
    Points : 68
    Points
    68
    Par défaut Liste des clients dans msgbox
    Bonjour a tous

    Ma base comporte un form qui permet de lancer des appels de fonds(en gros creer des factures) dont 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
    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
    59
    60
    Private Sub Commande16_Click()
    Dim intReponse As Integer
    Dim intProjet As Integer
    Dim strCritere As String
    Dim intAvancement As Integer
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim MonCpte As Integer
    Dim strAchevement As String
     
    MonCpte = 0
    intProjet = Me.[avan lien projet] 'n° de projet
    Debug.Print intProjet
    intAvancement = Me.[avan %] ' avancement%
    Debug.Print intAvancement
    strAchevement = Me.[avan achevement]
    Debug.Print strAchevement
     
     
     
     
    intReponse = MsgBox("Voulez-vous lancer les appels de fonds?", vbQuestion + vbYesNo, "Avancement")
    If intReponse = vbYes Then
     
    Set db = CurrentDb
    Set rst = db.OpenRecordset("client par projet", dbOpenDynaset) 'ouvre la requete
     
    strCritere = ("[projet id]=" & intProjet & " And Not IsNull([cli date signa contrat])") 'cherche les champs ou il existe une date de signature
                    'pas de signature, pas d'appel de fonds
    Debug.Print strCritere
     
    rst.FindFirst strCritere
    While Not rst.NoMatch
     
        Set db = CurrentDb
        Set rst2 = db.OpenRecordset("tbl_AppelDeFonds", dbOpenDynaset) 'ouvre la table pour ajout enregistrement
        Debug.Print rst("cli nom")  'nom du client dans la requete
     
     
     
        rst2.AddNew
        rst2("AdF lien client") = rst("client id")
        rst2("AdF lien projet") = intProjet
        rst2("AdF Avancement trx") = intAvancement
        rst2("AdF Achevement") = strAchevement
        rst2("AdF Montant appelé") = ((rst("SommeDebie prix de vente") * (intAvancement / 100)) - Nz(rst("SommeDeAdF Montant"), 0))
        rst2("AdF Date appel") = Date
        rst2.Update
     
    MonCpte = MonCpte + 1
    rst.FindNext strCritere
     
    Wend
    rst2.Close
    Set rst2 = Nothing
     
    rst.Close
    End If
    MsgBox (MonCpte & " " & "appels de fonds ont été lancés pour les clients suivants:")
    End Sub
    J'aimerais qu'a la fin de la procedure apparaisse une msgbox avec le nom des clients pour lesquelles les appels ont été lancés sous forme de liste, de la manière suivante:

    X appels de fonds ont été lancés pour les clients suivants:
    AAAAAA
    BBBBBBBB
    CCCCCCCCC
    DDDDDDD

    Mais je ne sais pas comment "stocker" les variables jusqu'a la fin de la procédure pour pouvoir les réutiliser.

    Merci de votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 10
    Points
    10
    Par défaut creer la combo avec liste de valeurs
    bonjour
    il suffit de declarer une combobox avec liste de valeurs , la mettre en onvisible et ajouter a chaque valeur de ta table :
    dim x as string
    x=""

    a chaque valeur x=";" & ma valeur de table


    a la fin de la liste

    me.combobox.vlue=x
    et la mettre visible

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 192
    Points : 68
    Points
    68
    Par défaut
    super
    Je vais plancher la dessus

    Merci

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Points : 10
    Points
    10
    Par défaut correction
    c'est x=x & ";" & mavaleur qu'il faut mettre
    excuse moi de l'erreur de frape

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 192
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    J'avais laissé le truc en suspend pendant qq jours.
    Je ne comprend pas grand chose a la facon de proceder.
    Quelqu'un pourrait m'en dire un peu plus?

    Merci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 357
    Points : 355
    Points
    355
    Par défaut
    Bonjour,

    Vous pouvez, avant le addnew, mettre un compteur du style :

    Avant le rst.findnext , mettez :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    listClient=listClient & vbcrlf & rst("Client id")
    et a la fin de votre code, lorsque la boucle est terminée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    msgbox cpt & " Appels de fonds ont été lancés pour les clients suivants : " & listclient
    En esperant vous avoir aidé

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 192
    Points : 68
    Points
    68
    Par défaut
    C'est exactement ca
    Ca marche super!!!!

    Merci beaucoup

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 357
    Points : 355
    Points
    355
    Par défaut
    De rien chef

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

Discussions similaires

  1. Liste des formulaires dans ListeBox
    Par gbuxo dans le forum Access
    Réponses: 2
    Dernier message: 08/04/2006, 12h23
  2. Réponses: 6
    Dernier message: 16/03/2006, 19h32
  3. Chargement de la liste des imprimantes dans TPrinterDialog
    Par bernie.noel dans le forum Composants VCL
    Réponses: 6
    Dernier message: 22/02/2006, 17h57
  4. [SHELL API] Liste des Icônes dans le casier (et position)..
    Par ARDILLER dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 07/05/2005, 14h37
  5. la liste des clients qui n'ont pas acheter aucun article ...
    Par TéBeSsI dans le forum Langage SQL
    Réponses: 6
    Dernier message: 13/02/2004, 15h57

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