Manipolare access da exell
Hai un problema con Excel? 
Manipolare access da exell
di valmont88 (utente non iscritto) data: 21/03/2013 18:36:24
Ciao a tutti mi rivolgo al forum come ultima spiaggia nn essendo riuscito a risolvere per conto mio il problema.
LA QUESTIONE
sto costruendo un database in cui saranno presenti 130000 record che verranno aggiornati mensilmente
Ogni mese devo aggiungere un campo( sono serie storiche)
Le serie storiche inizialmente prima di essere inserite nel D.b devono essere manipolate per sistemarle( sono piene di buchi) e questo l'ho risolto con una megamacro che gira su exell
1)Ora mi si presenta il problema. devo trasferire l'intera base di dati in access tramite vba
2)Devo programmare delle query dinamiche per estrarre dati da access e riportarli su exell( per dinamiche intendo nei campi nn nei record), per esempio ho bisogno di poterli dire estrai tutti i dati di certi record dal 2008 al 2009 ( tra il 2008 e 2009 ) ci sono dodici campi ma la volta dopo mi potrebbe servire un intervallo diverso e caricarli in exell ( perchè dopo devono essere modificati ulteriormente.
Tutto questo lo devo fare programmando in vba su exell
3)Devo programmare sempre dal foglio exell in vba una routine di aggiornamento del d.b access per aggiungere nuovi fondi
Dati i tre problemi la mia domanda iniziale è come manipolare elementi access da vba su exell(access lo apro solo per sistemare le relazioni). Di seguito di quali librerie ho bisogno di scaricare (nella mia versione exell 2010 nell'editor vba ci sono tre librerie e penso avendo provato vari codici proposti su internet che nn siano sufficienti?
Grazie mille per l'aiuto un salutone
di Vecchio Frac data: 21/03/2013 20:12:50
Mi sembra tutto un po' ingarbugliato.
Se lavori su Access (e solo su Access) è meglio, è fatto apposta per maneggiare dati e interrogarli. 130mila record!! come pensi di gestirli in Excel? :)
Se Accessi ti serve solo "per le relazioni" ciò non ha alcun senso, visto che le relazioni servono solo ad Access e non influenzano i dati.
Comunque non voglio demoralizzarti: la base dati puoi tenerla su Excel se ti va, e collegarla in Access come fosse una sua tabella. Non molto efficiente, però.
Sono saltato sulla sedia quando ho letto questo: "Ogni mese devo aggiungere un campo". Non vorrai mica dire sul serio che ogni mese tocchi la struttura della tabella per aggiungere un campo? no, no: ripensa bene inizialmente a come deve essere la tabella finale e poi non toccarla più.
E perchè estrarre dati per riportarli su Excel? crea un report in Access no? comunque puoi sempre fare l'export della query in formato Excel (DoCmd.TransferDatabase o simili).
Volendo si può anche usare lo strumento di query su database presente pure in Excel (in fondo è la stessa famiglia Office).
Il punto 3 è così poco chiaro che non l'ho capito, scusami.
eheheh sapessi come salto io sulle sedia
di valmont88 (utente non iscritto) data: 21/03/2013 20:54:53
allora vecchio frac(troppo bello il nickname) ti spiego. in effetti la questione è decisamente ingarbugliata.
io ho un file exell sul quale un data provider mi fornisce quelle 130.000 osservazioni. per ogni riga ho una serie storica( le colonne). ogni mese ci sarà un mese in più quindi una colonna in più e in definitiva un campo in più.
Io faccio un primo scarico con osservazioni dal 2009 ad oggi mensilmente e faccio partire una macro in exell che mi corregge i dati che ricevo ( ci mette due giorni per funzionare ma pazienza). Una volta finito ho il formato finale in exell.
Io a questo punto vorrei caricare il tutto su access anche perchè exell con questa dimensione fa veramente fatica( nn ci posso caricare i dati iniziale perchè per sistemarli ho bisogno di fare cicli su cicli che necessitano di girare sulla riga e la colonna e in access nn è implementabile una procedura del genere).
Una volta fatto questo ho bisogno di strutturare il database(già fatto) e di realizzare una interfaccia utente user frendly. per sto scrivendo un nuovo file exell da cui far partire le query del database e le elaborazioni successive che devo farci ma nn riesco dal vba exell ad accedere al file access( ad aprire il d.b prima ancora di cercarli di dire cosa fare). Il problema come ho detto sono capre di che librerie ho bisogno di scaricare e che comandi dargli per accedere al d.b da exell
di Vecchio Frac data: 22/03/2013 21:55:12
cit. " ... e in access nn è implementabile una procedura del genere"
---> Ma va là, figurati ^_^ LOL
Comunque ti potrà interessare Importa dati esterni dal menu Dati, troverai Nuova query su database e in pratica puoi interrogare da Excel un db Access con una semplice query (come fossi in Access).
Per capire come farla girare, registra una semplice macro con le operazioni elementari di connessione e poi guardati (studiati) il codice prodotto.
Vuoi Approfondire?