Buongiorno a tutti, premetto di saperne meno di zero di programmazione e vba e chiedo a chi mi risponde di aver pazienza e che mi spieghi in termini più pratici e meno tecnici cosa devo fare.
Espongo prima il progetto a cui sto lavorando con tantissima difficoltà e poi qual'è il problema.
Ho una maschera di access con vari campi e alcuni modelli di word preparati per la stampa unione.
Finchè procedo manualmente, la stampa unione funziona.
Vorrei creare un pulsante che automatizzi il tutto, restituendomi unicamente il file .doc già bello pronto.
Il codice che tra 1000 casini ne è venuto fuori è il seguente:
Private Sub BtnAccompagnamento_Click() Dim wordMailMerge As Object Dim wordApp As Object Dim wordDoc As Object Set wordApp = CreateObject("Word.Application") wordApp.Visible = True Set wordDoc = wordApp.Documents.Open("F:\Inserimento dati\filetest.dotx", True, False) Set wordMailMerge = wordDoc.MailMerge wordMailMerge.OpenDataSource "F:\Inserimento dati\MASCHERA DATI.mdb" Dim cmdSql As String cmdSql = "SELECT [Tabella dati].* INTO [Tabella dati Unione] FROM [Tabella dati] WHERE [Tabella dati].ID =" & CStr(Me.ID) CurrentProject.Connection.Execute cmdSql wordMailMerge.Destination = 0 wordMailMerge.Execute wordDoc.Close Set wordMailMerge = Nothing Set wordDoc = Nothing wordApp.Quit Set wordApp = Nothing End SubIl problema è che alla pressione del pulsante, mi si apre il modello ed immediatamente mi spunta una finestra in cui mi si chiede di selezionare la tabella. Non so dove sia l'inghippo, ma inizialmente non mi chiedeva nulla, poi potevo scegliere tra "Tabella dati" e "~TMPCLP+numeri". Poi si è aggiunta anche "Tabella dati Unione" e ora si stanno aggiungendo altri ~TMPCLP. Sto brancolando nel buio. In più, quelle poche volte che è andata a buon fine la stampa unione, non si trattava del record corrente.
Dove sbaglio?
Grazie a tutti.