comment générer un document Word avec access?

comment générer un document Word avec access? - SQL/NoSQL - Programmation

Marsh Posté le 30-06-2005 à 09:08:25    

Salut à tous, je suis un ptit nouveau sur ce forum !! Je viens vous rendre visite car j'ai besoin d'aide. En fait g un document type sous Word déjà préétabli. C'est une facture avec tout ce qui va avec (entête + tableau contenant les données chiffrées + pied de page). Le tableau est bien sûr vierge au départ. L'ensemble des données qui doivent être visibles sur cette facture est stocké dans une base access. Sous access, G un formulaire, F_AjouterFacture, que je remplis et une fois celui-ci rempli, g un bouton "Générer" qui me permet de générer le document Word. C'est cette étape que je n'arrive pas à faire. Quelqu'un peut-il m'aider??

Reply

Marsh Posté le 30-06-2005 à 09:08:25   

Reply

Marsh Posté le 30-06-2005 à 09:25:59    

Bonjour deux soutions
1)Utiliser les etats Access qui suffisent amplement dans la majorite des cas
2)Creer une macro autoopen dans ton document word (que tu uvrirais via ton formulaire) qui saurait faire la fusion de maniere automatique

Reply

Marsh Posté le 30-06-2005 à 09:30:27    

La macro de ton document word:

Code :
  1. Sub AutoOpen()
  2. ActiveDocument.MailMerge.OpenDataSource Name:= _
  3.         "chemin\tasource.mdb", _
  4.         ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
  5.         AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
  6.         WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
  7.         Format:=wdOpenFormatAuto, Connection:= _
  8.         "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=chemin\tasource.mdb;Mode=Read;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password=""""" _
  9.         , SQLStatement:="SELECT * FROM `TaTable`", SQLStatement1:="", _
  10.         SubType:=wdMergeSubTypeAccess
  11.      CommandBars("Task Pane" ).Visible = False
  12.      ActiveDocument.MailMerge.ViewMailMergeFieldCodes = wdToggle
  13. ...


 
Le code de ton bouton Generer:

Code :
  1. Dim oApp As Object
  2.  
  3.   'NE PAS OUBLIER DANS TOOLS-->REFERENCES DE COCHER LES CASES
  4.   '----------------------------------------MICROSOFT OFFICE 10.0 OBJECTS LIBRARY
  5.   '----------------------------------------MICROSOFT WORD 10.0 OBJECTS LIBRARY
  6.     Set oApp = CreateObject("Word.Application" )
  7.     oApp.Visible = True
  8.     oApp.Documents.Open ("chemindetondoc.doc" )


Message édité par betsamee le 30-06-2005 à 09:31:04
Reply

Marsh Posté le 30-06-2005 à 09:59:15    

merci pour ta réponse, betsamee. Le truc, c que je n'ai pas du tout de code VB dans mon application. En fait le bouton sur lequel je clique pour générer mon document se trouve dans un formulaire. On m'a conseillé de faire ça avec du publipostage. T'en penses quoi?

Reply

Marsh Posté le 30-06-2005 à 10:03:40    

je pense que si tes factures ne sont pas trop complexes (et encore!) tu peux facilement te debrouiller avec les etats access ,cela te permetrait de tout concentrer sous Access (moins lourd) et ce serait bcp plus simple a manipuler et le rendu serait le meme
les etats sont faits pour  ce que tu veux faire


Message édité par betsamee le 30-06-2005 à 10:04:17
Reply

Marsh Posté le 30-06-2005 à 10:05:50    

En VBA c'est tout simple. Normalement tu devrais connaître. Sinon bonjour la gueule de l'appli Access [:johneh]

Reply

Marsh Posté le 30-06-2005 à 10:32:58    

J'ai pensé aux états, mais apparemment ça convient pas trop a ceux qui m'ont demandé de réaliser l'application

Reply

Marsh Posté le 30-06-2005 à 11:03:15    

comme le dit FlorentG ca demande pas de grandes competence en programmation d'utiliser VBA (pour ce que tu veux faire)
je te conseille de te pencher dessus

Reply

Marsh Posté le 30-06-2005 à 15:04:10    

Y a pas moyen de faire ça sans code?

Reply

Marsh Posté le 30-06-2005 à 15:09:39    

Non, vraiment aucun

Reply

Marsh Posté le 30-06-2005 à 15:09:39   

Reply

Marsh Posté le 30-06-2005 à 16:05:58    

hey betsamee, le code de ta macro il est en entier là ou pas?

Reply

Marsh Posté le 30-06-2005 à 16:30:50    

et comment tu fais pour qu'elle soit autoopen?

Reply

Marsh Posté le 30-06-2005 à 16:44:58    

1)Non
 
2)ben tu l'appeles autoopen

Reply

Marsh Posté le 30-06-2005 à 16:48:56    

et c quoi la fin du code??

Reply

Marsh Posté le 01-07-2005 à 09:08:35    

parce que moi j'y connais pas grand chose et je dois livrer une démo de mon appli lundi

Reply

Marsh Posté le 07-07-2005 à 10:31:24    

Salut a tous,
 
J'ai un peu le meme probleme,
J'ai un fichier externe que je dois lancer dans Excel puis apres lancer une macro qui traite ce fichier.
 
Le probleme c'est que ce fichier est souvent modifié. Ce que je souhaite, ce serait de lancer Excel a partir d'un script PHP (avec la fonction exec ?) puis a l'ouverture de ce fichier dans Excel, une macro Autoopen se lance automatiquement.
 
Est-ce possible ??

Reply

Marsh Posté le 07-07-2005 à 14:54:11    

j'ai jamais utilise exec ou system sous windows mais a priori ta methode doit fonctionner

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed