chi mi può dire cosa manca? vorrei creare una tabella in word dove inserire i dati di una database come indicato di seguito.....riesco a trasferire i dati ma non a formattarli
'esportazione Elenco parametri:
'selezione del punto di inserimento
Doc.Bookmarks("Elencoprodotti").Select
'impostazione delle tabulazioni:
With Wrd.Selection.Paragraphs.TabStops
.Add Wrd.Application.CentimetersToPoints(-3.5), wdAlignTabRight 'numeroprodotto
.Add Wrd.Application.CentimetersToPoints(-2.5) 'prodotto
.Add Wrd.Application.CentimetersToPoints(1.5), wdAlignTabdown 'caratteristiche
.Add Wrd.Application.CentimetersToPoints(5.5), wdAlignTabdown 'tipoprodotto
End With 'Wrd.Selection.Paragraphs.TabStops
'apertura del recordset
'apro un nuovo recordset per poter impostare l'ordinamento,
SQL = "SELECT * FROM prodotti WHERE numeroprodotto=" & Me.numeroprodotto & _
" ORDER BY tipoprodotto;"
Set Rst = CurrentDb.OpenRecordset(SQL)
If Not Rst.BOF Then 'se il recordset non è vuoto
Tbl = Chr$(9) 'Chr$(9) è una tabulazione
'scrivi l'intestazione:
Wrd.Selection.Font.Bold = True 'abilita il grassetto
Wrd.Selection.TypeText Tbl & "numeroprodotto" & _
Tbl & "prodotto/caratteristiche" & _
Tbl & "tipoprodotto" & vbCrLf
Wrd.Selection.Font.Bold = False 'togli il grassetto
pausa
'aggiungi una linea orizzontale tra le intestazioni e i dati
Wrd.Selection.Borders(wdBorderTop).LineStyle = wdLineStyleSingle
'spaziatura di 8 punti tra la linea e il testo
Wrd.Selection.Borders.DistanceFromTop = 8
pausa
'ciclo sul recordset ed esportazione di tutte le righe
With Rst
.MoveFirst 'posizionati sul primo record
While Not .EOF 'ripeti fino alla fine del recordset:
'costruisci la riga da scrivere nel documento:
Record = Tbl & !numeroprodotto & Tbl & StrConv((!parametro), vbProperCase) & Tbl & _
!caratteristiche
Wrd.Selection.TypeText Record & vbCrLf 'scrivi la riga
pausa
.MoveNext 'passa al prossimo record
Wend 'Not .EOF
End With 'Rst
'chiudi e azzera il recordset
Rst.Close: Set Rst = Nothing
pausa
Else 'Not Rst.BOF
Wrd.Selection.TypeText "NESSUN PRODOTTO ACQUISTATO." & vbCrLf
End If 'Not Rst.BOF
'ripristina il valore originario dell'opzione
'"Sostituisci la selezione"
Wrd.Options.ReplaceSelection = ReplSel
'avvisa l'utente che l'esportazione è terminata
Wrd.Application.WordBasic.MsgBox "Esportazione terminata", "Esportazione dati da Access"
End Sub
Il risultato e’:
numero prodotto prodotto/caratteristiche tipo
1 porta alluminio
2 finestra legno
3 viti in acciaio
mentre dovrebbe essere
prodotti fissi
1 Porta
alluminio F
2 finestra
alluminio F
Prodotti consumabili
1 Viti
acciaio C
quelle sopra dovrebbero essere due tabelle la prima di due righe e tre colonne la seconda di una riga e tre colonne nella stessa cella della seconda colonna dovrebbero andare caratteristiche e prodotto con le caratteristiche scritte in corsivo e il prodotto scritto in grassetto..... ho provato ad attivare il grassetto con fontbold= true ma niente
spero che qualcuno mi possa aiutare.....