Buongiorno a tutti
Access 2010
Devo trasferire, dopo aggiornamento di un campo di una sottomaschera, il dato del campo stesso e di alcuni altri campi ad un foglio Excel (in un modulo) che li utilizzerà per eseguire dei calcoli.
Alla sottomaschera aggiungo a mano a mano nuovi record e per ciascuno di essi, ogni volta che esco del campo prescelto, i nuovi dati dovrebbero essere trasferiti al foglio per nuovi calcoli (sempre nelle stesse celle).
Premesso che sono assolutamente inesperto, dopo varie ricerche ho provato a scrivere la seguente routine :
Dim mysheet As Object, myfield As Variant, xlApp As Object
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set mysheet = xlApp.Workbooks.Open("E:\1Botek\Excel\Modelli\Prezzi_last_access.xlsm").Sheets(5)
mysheet.Cells(17, 15).Value = Forms![OrdiniNuovi]![DettagliOrdiniNuovi].Form![Diametro] * 1
mysheet.Cells(18, 15).Value = Forms![OrdiniNuovi]![DettagliOrdiniNuovi].Form![Lunghezza] * 1
La cosa funziona come vorrei ma in effetti ogni volta che aggiungo un record alla sottomaschera ed esco dal campo mi si apre un nuovo modulo (ritengo per il "create object") per cui mi trovo presto con molti moduli excel aperti.
Come potrei fare perchè tutti i record successivi utilizzino sempre lo stesso modulo aperto sostituendo semplicemente i nuovi dati nelle celle preposte?
Se il modulo può creare problemi non ci sono difficoltà a trasformarlo in una normale cartella che non necessariamente deve essere aperta in automatico (potrei aprirla manualmente ad inizio lavoro).
Grazie per l'attenzione e buona giornata.
Cesare