Exporter/fusionner un doc word à partir d'un enregistrement

Fermé
Elyenko Messages postés 23 Date d'inscription mardi 10 septembre 2013 Statut Membre Dernière intervention 5 mars 2016 - 23 déc. 2015 à 15:33
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 - 31 déc. 2015 à 11:19
Bonjour,

Alors, je voudrais démarrer en vous signalant que je suis loin d'être un expert d'Access.
Néanmoins dans un précédent job j'ai appris à bidouiller un peu et je voudrais mettre en place dans ma nouvelle boîte une base de données, très simple mais fonctionnelle, qui nous permette de gérer les clients, la prospection, les devis, etc.

J'ai monté une base de données qui comprend 3 tables principales : les "clients", les "abonnements" et les "devis" (il y en a d'autres, mais qui ne sont pas importantes : nom des chargés de clientèle, tarifs des produits, des options, etc.)

J'ai également 3 formulaires (idem : "clients", "abos" et "devis"), basés sur mes requêtes.

Tout fonctionne bien, sauf un point : je voudrais que dans le formulaire "devis", je puisse générer des devis pour mes clients. Je crée un nouvel enregistrement dans le formulaire "Devis", à chaque fois qu'un client nous demande un chiffrage de prestation ; ce formulaire étant lié aux bases "client", aux bases "produits" et "chargés de clientèle", il nous permet donc de rassembler toutes les informations nécessaires à l'établissement du devis (y compris avec différents délais de réalisation, la durée de validité du devis, etc.).

Je voudrais qu'en cliquant sur un bouton, sur le formulaire, je puisse fusionner cette fiche avec notre modèle de devis, enregistré dans le même dossier (V:\Database).

Ca ne me paraît pas complexe en l'état mais je me casse les dents depuis hier matin sur tous les tutos que je trouve sur Internet...

Voici en l'état ce que j'ai actuellement d'enregistré dans le code de mon bouton (qui ne fonctionne pas, évidemment):

Private Sub Genration_devis_Click()

Dim chemin As String
Dim fs As Variant
Dim stDocName As String

stDocName = "qry_devis"
chemin = CurrentProject.Path & "\Courrier-test-1.docx"

Set fs = CreateObject("Scripting.FileSystemObject")
If Not fs.FileExists(chemin) Then
MsgBox "La donnée " & chemin & " n'existe pas!"
Else
DoCmd.SetWarnings False
DoCmd.OpenQuery stDocName, acNormal, acEdit
DoCmd.SetWarnings True

chemin = "winword.exe " & chemin
Call Shell(chemin, 1)
End If

End Sub


Est-ce qu'une âme charitable pourrait m'aider à avancer??
Merci d'avance !! Et joyeux noël !
A voir également:

2 réponses

bonjour
Peux tu mettre ta base compressée dans un lien avec ci joint pour mieux comprendre ton probleme
0
Elyenko Messages postés 23 Date d'inscription mardi 10 septembre 2013 Statut Membre Dernière intervention 5 mars 2016
28 déc. 2015 à 11:22
Merci de ta réponse rapide !

La base est accessible en suivant ce lien : https://e-nautia.com/share/23965-cc2505ao
C'est la requête qry_devis (et le formulaire associé) qui me posent problème.

D'avance merci !!
Et bonne fêtes de fin d'année.
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
28 déc. 2015 à 14:27
bonjour
bien reçu la base.
J'ai regardé la base et les relations qui ne sont pas faites.
Un conseil; chaque table doit avoir un nom de clé primaire different pas seulement N°
Par compte la clé secondaire doit avoir le meme nom mais declaré en numerique si tu utilise un N° auto en clé primaire
0
Elyenko Messages postés 23 Date d'inscription mardi 10 septembre 2013 Statut Membre Dernière intervention 5 mars 2016
28 déc. 2015 à 15:13
Merci de ton retour.
Oui, j'ai commencé à modifié les noms des champs de clé primaire dans certaines tables (client, devis, abo) mais pas dans les autres, je pensais remettre ça à plat une fois que mon bouton "Générer un devis" était fonctionnel...

Comme j'ai coincé à ce niveau je ne suis pas revenu dessus.
0
Elyenko Messages postés 23 Date d'inscription mardi 10 septembre 2013 Statut Membre Dernière intervention 5 mars 2016
Modifié par Elyenko le 28/12/2015 à 15:16
Est-ce que tu as une idée de ce qu'il faut faire pour, en cliquant sur le bouton "Générer un devis" :
- ouvrir un doc word mis en forme, enregistré dans le même dossier que la base
- le fusionner avec les données de l'enregistrement en cours

Merci d'avance pour ton aide !
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217 > Elyenko Messages postés 23 Date d'inscription mardi 10 septembre 2013 Statut Membre Dernière intervention 5 mars 2016
28 déc. 2015 à 15:32
Bonjour
La base est trop confuse pour etre selective.
Exemple
Table client
tu as les adresses clients plus les adresses contacts,il faut faire deux tables
Si tu veux plusieurs contact par client tu creais contact 1, contact 2 relier a une liste deroulante.
Tu peux generer un devis a partir d'un etat que tu peux imprimer a l'aide d'un bouton
0
castours > Elyenko Messages postés 23 Date d'inscription mardi 10 septembre 2013 Statut Membre Dernière intervention 5 mars 2016
28 déc. 2015 à 23:49
http://www.cjoint.com/c/EKbsBvjhhBR
Bonjour
Dans ce lien , une base simple de commande et facture
Dans un formulaire il y a un bouton de commande apercu facture.
Il ouvre un état facture sur l'enregistrement en cours du formulaire.
Attention il faut des relations correctes entre les tables
Tu peux regarder le code du bouton
0
Elyenko Messages postés 23 Date d'inscription mardi 10 septembre 2013 Statut Membre Dernière intervention 5 mars 2016
29 déc. 2015 à 09:08
Génial!
Je te remercie, je regarde ça tout de suite.

Concernant les formulaires de ma base, ils sont basés sur une requête et non sur une table, est-ce que ça te paraît incohérent?

Merci en tous cas pour ton aide, c'est très précieux.
0