|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Bonjour,
J'y suis enfin arrivé avec le publipostage mais j'ai un problème avec mes sous-formulaires en mode continu. Uniquement le 1er enregistrement de ces sous-formulaires en mode continu s'affiche dans mon document word. J'ai donc un formulaire "frm_paymentplan1" qui contient 2 sous-formulaires "frm_paymentplan2" et "frm_paymentplan3" : cf fomulaire en mode création en pièce jointe nommée Formulaire Les 3 tables contenant les données de ces formulaires sont reliées : cf en pièce jointe nommée Relation. Voici de quelle manière j'ai procédé : - création d'un bouton de commande sur mon formulaire princiapal : Code :
|
||
|
|
00
|
|
|
#2 |
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Bonjour, dois-je m'y prendre de cette manière ou passer par une requête croyez-vous ?
|
|
|
00
|
|
|
#3 | ||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonsoir,
De cette manière tu ne peux qu'avoir l'enregistrement actif (le 1er par défaut) du sous-formulaire frm_paymentplan3. Une requête et un recordset seraient utiles. Exemple : Code :
|
||
|
|
00
|
|
|
#4 |
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Merci mais j'aurai qques questions :
1) Où cette partie du code doit-elle être placée ? 2) Une requête pour mes 2 autres tables est-elle aussi nécessaire ? 3) Mon document Word est crée avec des signets. En ce qui concerne ce problème de 1er enregistrement dois-je reprendre les informations d'une requête ? |
|
|
00
|
|
|
#5 | |||||||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
Citation:
Code :
Citation:
Pour la table Tbl_Paymentplan2, je n'ai vu aucune référence à un de ses champs dans ton code. Citation:
Le code SQL de la requête est créé dynamiquement en VBA : Code :
Juste pour vérifier, au cas où je n'aurai pas compris. Le but est bien d'afficher dans le document Word, tous les contrats en relation avec l'enregistrement en cours du formulaire principal ? A+ |
|||||||
|
|
00
|
|
|
#6 |
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Oui tu as bien compris ce que je voulais
en fait c'est d'avoir tous les enregistrements et donc tous les champs des sous formulaires.J'essayerai ce que tu m'as dit lundi (ma base est au boulot) mais à mon avis ca va le faire merci en tout cas je te tiens au courant lundi |
|
|
00
|
|
|
#7 | ||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Salut LedZeppII. J'ai d'abord essayé avec les données d'un des 2 sous-formulaires. Si je ne fais référence qu'à 1 seul champ, cela marche très bien.
Par contre lorsque je fais référence à 2 champs ou plus, cela ne marche plus. Par exemple, je prends 2 champs : - dans mon document Word, je crée 2 signets de cette manière : [Contrat] / [Invoice] - pour le code je ne suis pas sûr mais j'ai fais comme çà : Code :
112687-OL-3 112687-OL-3 112687-OL-3 112687-OL-3 / FC09338508 FC09407238 FC10026512 FC10027137 alors qu'il devrait être comme çà : 112687-OL-3 / FC09338508 112687-OL-3 / FC09407238 112687-OL-3 / FC10026512 112687-OL-3 / FC10027137 |
||
|
|
00
|
|
|
#8 | ||||||||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonsoir,
Etant donné que tu concatènes [Contract], " / " et [Invoice], tu n'as besoin que d'un seul signet. Début du code (j'ai regroupé les déclarations de variables) jusqu'à l'ouverture du document Word : Code :
Code :
Comme les deux champs viennent de la même table, on va les sélectionner tous les deux dans l'instruction SQL SELECT. Code sql :
SELECT tbl_paymentplan3.Contract, tbl_paymentplan3.Invoice FROM tbl_paymentplan3 Code pour le signet "Contract" : Code :
Code :
|
||||||||
|
|
00
|
|
|
#9 | ||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Merci mais je viens de procéder autrement. Dans mon document Word, j'ai crée un tableau avec pour chaque colonne 1 signet. C'est plus esthétique. Je n'ai donc pas besoin de concaténation des 2 champs.
Mais lorsque je fais référence à 1 ou 2 signets, cela marche nickel. Par contre, lorsque j'en mets 3 ou plus, j'ai un message d'erreur : Erreur d'exécution '3061': Trop peu de paramètres.1 attendu (si je fais référence à 3 signets). Voici mon code : Code :
|
||
|
|
00
|
|
|
#10 | |||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#11 | ||
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
Ca marche, j'ai du changer le nom de champs de ma table
Merci à toi pour ton aide Cependant j'ai une dernière question. Si je fois faire référence à des champs se trouvant dans une autre table, comme le code doit-il être construit ? J'ai bien essayé la manière suivante mais cela ne marche pas : Code :
|
||
|
|
00
|
|
|
#12 | |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonsoir,
Citation:
Ton code a l'air correct. Qu'est-ce qui ne marche pas ? A+ |
|
|
|
00
|
|
|
#13 |
|
Débutant
Inscription : octobre 2004 Messages : 432 ![]() |
en fait j'ai changé de place certains bouts de code et à la Xème tentative j'y suis parvenu. Je te remercie beaucoup en tt cas. Ca fait depuis longtemps que j'essaye de faire ca sans avoir eu le temps de m'y pencher vraiment ou de trouver la méthode.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com