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

Bases de données Delphi Discussion :

Base de donnée pour du publipostage


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 65
    Par défaut Base de donnée pour du publipostage
    j'aimerais utilisé une base de donnée (pour les infos sur les personnes) afin de faire du publipostage avec Word. L'idée est d'ouvrir un document (modèle) puis d'effectuer le publipostage avec les données
    J'arrive à ouvrir le document comme ce-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SaveChanges := wdDoNotSaveChanges;
    // Contient les champs de publipostage
    DotFilename :='.\test.dot';
    // Affiche le document
    WordApplication1.Visible := true;
    // On ouvre le Modéle de document concerné par le publipostage
    DocWord:= WordApplication1.Documents.Open(DotFileName, EmptyParam,
                  EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                  EmptyParam, EmptyParam, EmptyParam);
    Puis j'essaie d'adapter le code trouver sur ce ici http://delphi.developpez.com/faq/?pa...ddocmailingexe afin d'utiliser ma table avec un composant TQuery mais je n'y arrive pas

    Merci pour votre aide

  2. #2
    Membre chevronné Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Par défaut
    Word utilise des fichiers existants (physiquement), dans le tutoriel la source de données pour le publipostage est un fichier texte (data.txt) donc si tu veux l'utiliser tel qu'il est tu doit exporter le résultat de ton Query vers un fichier texte.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 65
    Par défaut
    Un peu plus bas sur la même page, il y a une explication sur comment récupérer les infos d'une table. Mais je crois que la base est une base acces et moi j'ai une base MySQL (avec EasyPHP). De plus j'ai déjà le composant TQuery donc je ne pense pas avoir besoin de récupérer l'alias

    PS : voici le lien qui place directement au bon endroit de la page http://delphi.developpez.com/faq/?pa...ordmailingsgbd

  4. #4
    Membre chevronné Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Par défaut
    Non la source de données est une base paradox et elle utilise fichier physique qui est customer.db l'exemple récupère le chemin de l'alias pour pouvoir accéder en ODBC à ce fichier.
    Ton TQuery est une vue de ta base de données présente seulement dans ton programme.
    Si tu peut accéder à ta table sur ta Base MySQL en ODBC tu recopie la chaine de connexion ODBC en se basant sur l'exemple de la Faq ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       // Format ODBC, DSN en langue Française.
        Connection := MaChaineDeConnection;
    et ta requete SQL de ton Query ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         // Récupére tout les champs
        SQL := MaRequeteSQL;
        SQL1 := EmptyParam;
    Tu pourra reprendre l'exemple dans son integrité(ou presque).

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 65
    Par défaut
    J'ai changer ces 2 paramètre mais quand j'essaie le DocWord.MailMerge.OpenDataSource()
    je met le nom de la table et forcément il me dit qu'il ne trouve pas le fichier.
    Mais je n'ai pas de fichier à lui donner car j'ai une base MySQL gérée avec EasyPHP

  6. #6
    Membre chevronné Avatar de JustMe
    Inscrit en
    Juillet 2002
    Messages
    479
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 479
    Par défaut
    Je ne sais pas si tu as bien suivis les étape mais est ce que ta chaine de connexion ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Format ODBC, DSN en langue Française.
    Connection := 'Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=myDataBase; User=myUsername;Password=myPassword;Option=3';
    En bref tu dois te connecter à ta base en ODBC le Driver ODBC de MySQL doit être installé.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/03/2009, 20h54
  2. Quelle base de données pour un emploi du temps
    Par edouard21 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 26/10/2005, 23h48
  3. [Conception] base de données pour sport
    Par peach dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 26/10/2005, 16h21
  4. Un moteur de base de données pour un application
    Par sirius1974 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 18/06/2005, 14h52
  5. comment faire ma base de donnée pour un moteur de recherche
    Par HoB dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 04/05/2004, 16h07

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