Premessa: i codici scritti fino ad ora sono scritti su word, nella macro “Aggiornamento”;
Attualmente, da una maschera di access, alla pressione di un pulsante, si apre il file word di StampaUnione e si esegue la macro “Aggiornamento”, preciso che da vba di access si esegue la macro “Aggiornamento” scritta sul file word; fino ad ora è sempre stata così la struttura in quanto questo mi permetteva di esportare i pdf anche se il database non era completo e perché non sapevo bene come destreggiarmi nel a fare comunicare i due programmi, infatti spesso e volentieri aprendo il file word di stampa unione da access, il file si apriva due volte oppure mi si incasinava la query o mi dava altri errori che pian piano ho risolto. quindi ho sempre tenuto le cose separate. mi piacerebbe mantenerle separate, ovvero
- realizzare un file di StampaUnione di Word in cui nella macro “Aggiornamento” venga eseguito il codice che permette di esportare tutti i singoli pdf. Questo punto attualmente è operativo, "funziona", ha smesso di funzionare quando sono andato a fare le modifiche specificate nel primo post di questa discussione.
- realizzare una form di access in cui tramite click si possa quindi eseguire la macro “Aggiornamento” del file Word,
- realizzare una form di access in cui tramite click su un pulsante si apra il file word e ne si esegua la macro “Aggiornamento”
oppure
- realizzare una form di access in cui tramite click su un pulsante si compili già il file word tramite vba di access e non tramite il vba di word.
Provo ora a descrivere spero con la massima precisione ciò che hai richiesto:
1) è un database che serve da base dati per una stampa unione successiva, effettuata con word, per poter creare dei pdf, esportarli singolarmente in un percorso predefinito.
2) non vorrei essere indiscreto ma preferirei girarti il link al fine di mantenere la discussione aperta, in quanto sono argomenti che ho trattato in un'altra discussione di cui ti giro il link
https://www.iprogrammatori.it/forum-programmazione/access/realizzazione-query-t51433-30.html#p8701935
in cui per l'appunto si crea la query nel database che contenga le informazioni necessarie.
3) la query creata in precedenza al punto 2, di cui riporto l'sql
"SELECT tabProdotti.CodiceProdotto, tabProdotti.DescrizioneProdotto, TabSingoloPezzoPkg.singoloPzPkg_descrizione, TabMateriale.materiale_descrizione, TabCodice.codice_descrizione, TabConferimento.conferimento_descrizione
FROM TabCodice INNER JOIN (TabConferimento INNER JOIN (TabMateriale INNER JOIN (TabSingoloPezzoPkg INNER JOIN (tabProdotti INNER JOIN (Packaging_Cumulativa INNER JOIN tabProdPkg ON Packaging_Cumulativa.pk_id = tabProdPkg.idPackaging) ON tabProdotti.idProdotto = tabProdPkg.idProdotto) ON TabSingoloPezzoPkg.id_singoloPzPkg = Packaging_Cumulativa.pk_id_singoloPzPkg) ON TabMateriale.id_materiale = Packaging_Cumulativa.pk_id_materiale) ON TabConferimento.id_conferimento = Packaging_Cumulativa.pk_id_conferimento) ON TabCodice.id_codice = Packaging_Cumulativa.pk_id_codice;"
4) la query ha effettivamente un nome; è stata creata in due versioni diverse, “querySelCumulativa” (query di selezione), “queryTabCumulativa ” (query di creazione tabella) per eventuali futuri sviluppi.
5) spero tu non ti offenda, non l'ho capito bene nemmeno io questa parte di codice; ho provato a leggermi le guide ma il concetto di come l'ho utilizzato non mi è molto chiaro in ogni caso. È una istruzione legata al Word, spesso e volentieri, in molti esempi online la si trova in combo con LastRecord e FirstRecord. nel mio codice di word purtroppo non ho mai ben capito come facesse a funzionare, concettaulmente, poi vedevo i numeri che cambiavano, funzionava, era il primissimo codice che mi funzionava ed ero già oltre le mie limitatissime aspettative; ti riporto come viene utilizzato il codice nel mio progetto word:
For i = 1 To hmrecords + 1
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = i
.LastRecord = i
.ActiveRecord = i
'istruzioni per esportare il singolo pdf con nome estratto da uno dei campi unione
Next i
6) grazie mille, questo link mi è già stato molto utile in passato per creare altri progetti
7) grazie mille, questo link ha reso molto più chiari certi argomenti.
Grazie mille
Ciao