Re : génération automatique de liste / nom word et vb.net
Salut les amis !! :D
Je développe une application en vb.net et sql serveur.
Dans celle ci, j'ai une génération automatique de document je récupère les informations d'un client dans ma base et les envoi sur une page word déjà existante à des emplacements prévu grâce aux signets.
j'arrive à imprimer les données de plusieurs client, le problème c'est que ceux-ci s'ouvrent chacun sur une page différente alors que ce que je recherche est une liste des information. :?
voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
tout d'abord, je fais une requète pour récupérer les données qui m'interessent
commande.CommandText = "SELECT nom_expert, prenom_expert, code_expert, code_postal_expert, ville_expert FROM expert "
on enregistre le resultat de la requete dans le reader
reader = commande.ExecuteReader
on affiche les données dans les labels
label_nom_expert.Text = reader.GetOrdinal("nom_expert")
label_prenom_expert.Text = reader.GetOrdinal("prenom_expert")
label_code_expert.Text = reader.GetOrdinal("code_expert")
label_cp.Text = reader.GetOrdinal("code_postal_expert")
label_ville.Text = reader.GetOrdinal("ville_expert")
on ferme le reader
reader.Close()
Déclaration de la variable MonWord
Dim MonWord AsObject
Initialisation de la variable
MonWord = CreateObject("Word.Application")
Accepter que Word apparaisse
MonWord.Visible = True
Ouverture du fichier test.doc
MonWord.Documents.Open("C:\...\document.doc")
'Positionnement dans le document sur les signets
'Saisie du contenu des textbox dans le document Word
MonWord.ActiveDocument.Bookmarks("nom_expert").Select()
MonWord.Selection.InsertAfter(label_nom_expert.Text)
MonWord.ActiveDocument.Bookmarks("prenom_expert").Select()
MonWord.Selection.InsertAfter(label_prenom_expert.Text)
MonWord.ActiveDocument.Bookmarks("code_expert").Select()
MonWord.Selection.InsertAfter(label_code_expert.Text)
MonWord.ActiveDocument.Bookmarks("code_postal_expert").Select()
MonWord.Selection.InsertAfter(label_cp.Text)
MonWord.ActiveDocument.Bookmarks("ville_expert").Select()
MonWord.Selection.InsertAfter(label_ville.Text)
'MonWord.ActiveDocument.Save() ' Sauvegarde du document
'MonWord.ActiveDocument.Printout() ' Lancement de l'impression
'MonWord.Quit() ' Ferme Word
'MonWord = Nothing ' Ferme Word |
les signets sont nommés sur le document word...
par contre, comment faire pour que la page du document word affiche toute la liste
ex:
nom X prénom X code X code postal X ville X
nom Y prénom Y code Y code postal Y ville Y
nom Z prénom Z code Z code postal Z ville Z
nom A prénom A code A code postal A ville A
nom B prénom B code B code postal B ville B
nom C prénom C code C code postal C ville C
etc....
la logique voudrait qu'on répète les signets sur la page word... mais combien en mettre car on ne sait pas combien il y aura d'expert au total...
cette méthode fonctionne correctement lorsque je veux uniquement un expert...
de plus, ça fonctionne également quand il me met un expert par page...
mais moi, je veux la liste de tous les experts sur la même page...
merci d'avance...
c'est très important...