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 :

Lecture de champs de requete ajout en VBA


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Par défaut Lecture de champs de requete ajout en VBA
    Bonjour !

    Je patine avec un process basique sans doute mais je ne suis pas tres doué en vba ni en access alors, c'est sans doute evident pour nombre d'entre vous...
    Voici le principe.
    Dans une BD, une table parametre contient un champ "repertoire" et un champ "nom de fichier" pour passer des infos de localisation des fichiers pour publiposter.
    Dans mon application, une requete ajout alimente une table vidée au préalable des informations permettant de faire un publipostage vers word de courriers individuel.
    Tout fonction bien mais comme les noms des modèles de courriers et les emplacements devaient variés, j'ai voulu "parametrerces informations.

    Voici le code actuel :

    rivate Sub Courrier1_WD_Click()

    DoCmd.SetWarnings False
    DoCmd.RunSQL "DELETE * FROM ELEM_courrier_salarié;"
    DoCmd.SetWarnings True

    Dim qdf As DAO.QueryDef
    Dim rcs As DAO.Recordset
    'référence à la requête
    DoCmd.OpenQuery "R_A_Table_Elem_Courrier_Salarié", , acReadOnly

    Set qdf = Nothing

    'Fusion avec le courrier par appel de la fonction qui est déclarée dans le module publipostage (merge it())
    MergeIt

    End Sub

    --- Dans le module voici la fonction mergeit()

    Sub MergeIt()

    On Error GoTo Err_MergeIt

    Dim objWord As Object
    Set objWord = CreateObject("Word.Application")
    'Attention le nom du courrier doit bien etre en .docx ou .doc selon version word !!!
    'les valeurs viennent du fichier parametre via la requete de creation de la table d'édition

    Set objWord = GetObject("C:\softbil\Courrier_salarié_1.docx", "Word.Document")
    objWord.Application.Visible = True
    ' Sélectionne .la base de données comme source de données pour la fusion (attention le chemin est fixé c'est ça qui est à modifier !
    objWord.MailMerge.OpenDataSource _
    Name:="C:\softbil\V6 data.mdb", _
    LinkToSource:=True, _
    Connection:="TABLE ELEM_courrier_salarié", _
    SQLStatement:="SELECT * FROM [ELEM_courrier_salarié]"
    ' Exécution de la fusion.
    objWord.MailMerge.Execute
    Set objWord = Nothing

    Exit_MergeIt:
    Exit Sub

    Err_MergeIt:
    MsgBox Err.description
    Resume Exit_MergeIt

    End Sub



    ----

    Bon voilà l'idée c''est récuperer les valeurs de "repertoire" et de "nom du courrier" que j'ai dans la table ELEM_courrier_salarié crée par ma requete ajout pour faire que le reperoire et nom du courrier (actuellement ficgés dans le module) puissent etre changés par l'utilsiateur dans le fichier parametre ...

    Plus dur a expliquer qu'a faire sans doute...
    Je vous remercie d'avance de vos coups de main !


  2. #2
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2012
    Messages : 191
    Par défaut
    Bonjour,

    Tu peux utiliser "Dlookup" ou "DFirst" pour récupérer les enregistrements.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Par défaut
    Ok je vais essayer Dlookup en précisant le critère qui me permet de trouver le bon enregistrement et recuperer la valeur du champ qui me convient.
    Merci pour cette idée.

Discussions similaires

  1. [VBA]exécution requete ajout
    Par fbu78 dans le forum VBA Access
    Réponses: 10
    Dernier message: 29/08/2023, 21h11
  2. Requete d'ajout en vba + champs automatique dans table
    Par Invité dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/02/2013, 22h54
  3. [SQL-VBA]Recuperer valeur champ avec requete
    Par docky dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 05/04/2007, 13h20
  4. requete ajout caractere sur tous les champs d'une table
    Par lorenzo74 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 24/06/2006, 13h34
  5. requete ajout en fonction de la valeur d'un champ ?
    Par mat75019 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 22/06/2006, 10h17

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