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 :

Selection de valeur de champs dans des sous formulaires


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Points : 43
    Points
    43
    Par défaut Selection de valeur de champs dans des sous formulaires
    Dans mon formulaire principal se trouvent 4 formulaires. Dans chacun il y a 3 ou 4 champs où peut se trouver un nom (facultatif).
    A la fin de mon formulaire principal, j'ai un bouton qui permet d'envoyer un certain résultat par mail, je voudrais que ce mail arrive à tous ceux dont le nom est dans au moins un des champs des sous formulaires.
    J'ai une table avec les noms qui sont susceptibles d'apparaître et leur adresse mail.
    Comment pourrais-je avoir dynamiquement, pour chaque enregistrement, la liste des noms (et donc la liste des mails qui va avec) pour pouvoir faire ma liste de diffusion.

    J'ai pensé à une variable globale où seraient concaténés les noms quand ils existent. Je pourrais ensuite faire un split sur la variable, et pour chaque case de mon tableau, trouver le mail correspondant au nom. Cela dit, ça me paraît bien compliqué , et je suis même pas sûr que ça marche (comment lancer l'analyse sur un enregistrement où il n'y pas d'update, juste l'appui du bouton en bas? ...).

    S'il y a une solution, j'aimerais bien la connaître,
    merci !

  2. #2
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    Salut,

    Tes sous formulaires ont des champs Père/Fils je suppose ?

    Tu peux donc te créer un recordset avec comme critère la valeur de ton champ père

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Points : 43
    Points
    43
    Par défaut
    Euh, oui, il y à bien des champs père/fils.
    Par contre,...
    Tu peux donc te créer un recordset avec comme critère la valeur de ton champ père
    Je n'ai pas tout compris là...

  4. #4
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    un recordset est une "table virtuelle"

    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
    Dim MaBd as Database
    Dim Rst as Recordset
    Dim StrSql as String
    StrSql="SELECT Champ1,Champ2, etc.. FROM Matable WHERE MonChamp= " & MonCritere & ";"
    Set MaBd=CurrentDb
    Set Rst=MaBd.openRecordset (StrSql, dbOpendynaset)
    With Rst
       .MoveFirst
       DO
          MaVariable=!Monchamp2
          'etc.....
          'traitement de tes données
       Loop until rst.EOF
       .Close
    End With

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 116
    Points : 43
    Points
    43
    Par défaut
    Ah oui. Ah ben ça doit être bon, ma requete fait 10 lignes de code, mais ça a l'air de marcher (cette partie, du moins). merci!

  6. #6
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    j'ai oublié un MoveNext sinon tu va tourner en rond...
    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
    Dim MaBd as Database
    Dim Rst as Recordset
    Dim StrSql as String
    StrSql="SELECT Champ1,Champ2, etc.. FROM Matable WHERE MonChamp= " & MonCritere & ";"
    Set MaBd=CurrentDb
    Set Rst=MaBd.openRecordset (StrSql, dbOpendynaset)
    With Rst
       .MoveFirst
       DO
          MaVariable=!Monchamp2
          'etc.....
          'traitement de tes données
         .MoveNext
       Loop until rst.EOF
       .Close
    End With

Discussions similaires

  1. [AC-2007] Selectionner une valeur de champs dans un sous formulaire
    Par Florinet dans le forum IHM
    Réponses: 3
    Dernier message: 05/10/2011, 09h27
  2. [AC-2007] selectionner des champs dans un sous-formulaire
    Par karwafmhz dans le forum IHM
    Réponses: 2
    Dernier message: 08/06/2010, 19h49
  3. Réponses: 3
    Dernier message: 25/02/2008, 10h18
  4. Réponses: 9
    Dernier message: 14/05/2007, 16h57
  5. Mettre à jour des champs dans un sous formulaire
    Par Patros dans le forum Access
    Réponses: 3
    Dernier message: 09/08/2006, 15h16

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