Discussione:
Per Esperti - Importazione da Excel
(troppo vecchio per rispondere)
Marc
2004-07-10 04:58:58 UTC
Permalink
Ciao a Tutti,

devo importare dei dati da un file di Excel in Access 2000. Il file
pesa ca. 80 Mb e consta solamente di due colonne che
superano il numero massimo di 65.536righe, per
cui proseguono in colonne adiacenti.

Ho provato ad importare in un colpo solo tutto il file, ma, a metà
procedura, mi esce un messaggio che dice: "Indice non incluso
nell'intervallo" inoltre, alla fine del wizard un messagio pop-up enuncia:
"Errore nel
tentativo di importare il file Pippo. File non importato".

Riesco ad importare il file tagliando e importando circa 8.000 righe alla
volta, tuttavia sono sorte alcune difficoltà che non riesco a risolvere.

L'importazione avviene sempre in una tabella nuova, in quanto l'opzione di
scelta della "Tabella esistente" _NON_ è attiva, quindi dopo aver
importato le seconde, le terze 8.000 righe etc. devono essere accodate alla
tabella principale, ma questo non è un problema vitale.
Il problema è che l'importazione avviene sempre, _in modo automatico_,
in una tabella nuova i cui campi sono in formato "casella testo" con
dimensione
campo standard di 255 caratteri, per cui il contenuto di alcune celle in
Excel, dopo l'importazione, risulta troncato.

La tabella in Access dovrebbe avere un contatore che è la chiave primaria e
due campi *Memo*.

Inoltre, sembra che in Access una tabella abbia una capienza limite, in
quanto non sono riuscito ad importare la somma della colonna A + E di excel,
ma l'importazione si è fermata sui 100.000 records circa. (La somma della
colonna A + E da come risultato 106.912 righe).

Se qualcuno potesse darmi qualche dritta, ne sarei molto grato.
Un cordiale saluto,
Marc
Sergio MAZZA
2004-07-10 08:12:49 UTC
Permalink
Post by Marc
Ciao a Tutti,
devo importare dei dati da un file di Excel in Access 2000. Il file
pesa ca. 80 Mb e consta solamente di due colonne che
superano il numero massimo di 65.536righe, per
cui proseguono in colonne adiacenti.
Ho provato ad importare in un colpo solo tutto il file, ma, a metà
procedura, mi esce un messaggio che dice: "Indice non incluso
"Errore nel
tentativo di importare il file Pippo. File non importato".
Riesco ad importare il file tagliando e importando circa 8.000 righe alla
volta, tuttavia sono sorte alcune difficoltà che non riesco a risolvere.
L'importazione avviene sempre in una tabella nuova, in quanto l'opzione di
scelta della "Tabella esistente" _NON_ è attiva, quindi dopo aver
importato le seconde, le terze 8.000 righe etc. devono essere accodate alla
tabella principale, ma questo non è un problema vitale.
Il problema è che l'importazione avviene sempre, _in modo automatico_,
in una tabella nuova i cui campi sono in formato "casella testo" con
dimensione
campo standard di 255 caratteri, per cui il contenuto di alcune celle in
Excel, dopo l'importazione, risulta troncato.
La tabella in Access dovrebbe avere un contatore che è la chiave primaria e
due campi *Memo*.
Inoltre, sembra che in Access una tabella abbia una capienza limite, in
quanto non sono riuscito ad importare la somma della colonna A + E di excel,
ma l'importazione si è fermata sui 100.000 records circa. (La somma della
colonna A + E da come risultato 106.912 righe).
Se qualcuno potesse darmi qualche dritta, ne sarei molto grato.
Un cordiale saluto,
Marc
Prova esportando i dati in excel in formato testo (ricomponendoli in un
unico file) e poi importali in access...

Ciao.
--
Sergio MAZZA
Marc
2004-07-10 16:41:21 UTC
Permalink
[Cut]
Post by Sergio MAZZA
Prova esportando i dati in excel in formato testo (ricomponendoli in un
unico file) e poi importali in access...
Ciao.
--
Sergio MAZZA
Ciao Sergio, *Grazie* per la tua risposta, ho effettuato qualche prova in
base al tuo consiglio e in linea di massima la procedura funziona. Ho
salvato il file di excel in formato testo e poi l'ho importato in Access.
Nella fase di importazione vi è un pulsante "Avanzate" che premuto apre
un'ulteriore maschera nella quale si può impostare il tipo di dati per ogni
campo, da Testo a Memo.

Il problema è che se ci sono 65.536 records bisogna settare 65.536 campi da
Testo a Memo, è un lavoraccio, ma almeno si ha la possibilità di agire sul
database, per cui ora armiamoci di tanta buona pazienza e iniziamo il
lavoro.

Ho anche effettuato un'ulteriore test: da Excel, nel menù Dati, ho attivato
"Collegamenti Access" e ho cercato di esportare il file in Access, ma non si
ha nessun controllo nel wizard di importazione in Access. I campi della
tabella sono sempre settati come "Testo".

Grazie per il tuo consiglio ed ora vedrò come organizzare al meglio la
tecnica di importazione.
Un cordiale saluto,
Marc
Sergio MAZZA
2004-07-12 18:23:20 UTC
Permalink
Post by Marc
[Cut]
Ciao Sergio, *Grazie* per la tua risposta, ho effettuato qualche prova in
base al tuo consiglio e in linea di massima la procedura funziona. Ho
salvato il file di excel in formato testo e poi l'ho importato in Access.
Nella fase di importazione vi è un pulsante "Avanzate" che premuto apre
un'ulteriore maschera nella quale si può impostare il tipo di dati per ogni
campo, da Testo a Memo.
Il problema è che se ci sono 65.536 records bisogna settare 65.536 campi da
Testo a Memo, è un lavoraccio, ma almeno si ha la possibilità di agire sul
database, per cui ora armiamoci di tanta buona pazienza e iniziamo il
lavoro.
65.000 campi??? O sono record o sono campi.
Post by Marc
Ho anche effettuato un'ulteriore test: da Excel, nel menù Dati, ho attivato
"Collegamenti Access" e ho cercato di esportare il file in Access, ma non si
ha nessun controllo nel wizard di importazione in Access. I campi della
tabella sono sempre settati come "Testo".
Nella versione '97 non ho quella voce di menù; ma perché non fai una query?
Post by Marc
Grazie per il tuo consiglio ed ora vedrò come organizzare al meglio la
tecnica di importazione.
Un cordiale saluto,
Marc
Guarda che molte volte non serve importare i dati; excel legge le tabelle di
access e access legge i fogli (se formattati bene) di excel. Entrambi
leggono file di testo...

Ciao.
--
Sergio MAZZA
Marc
2004-07-12 21:03:23 UTC
Permalink
[Cut]
Post by Sergio MAZZA
65.000 campi??? O sono record o sono campi.
Post by Marc
Ho anche effettuato un'ulteriore test: da Excel, nel menù Dati, ho
attivato
Post by Marc
"Collegamenti Access" e ho cercato di esportare il file in Access, ma
non
Post by Sergio MAZZA
si
Post by Marc
ha nessun controllo nel wizard di importazione in Access. I campi della
tabella sono sempre settati come "Testo".
Nella versione '97 non ho quella voce di menù; ma perché non fai una query?
Guarda che molte volte non serve importare i dati; excel legge le tabelle di
access e access legge i fogli (se formattati bene) di excel. Entrambi
leggono file di testo...
Ciao.
--
Sergio MAZZA
In excel, vai nel menù Strumenti >Componenti Aggiuntivi>Aggiunta
Collegamenti Access, quindi in fondo al menù Dati troverai Maschera
Access..., Report Access... oppure Converti in Access ...
Se non esiste questa opzione copia sul disco fisso il file "Acclink.xla"
(senza apici) presente sul CD di Office e aprendolo con un doppio click
avrai questo tipo di opzione.

Per conto di un'amica, devo importare in Access un suo file, il quale non è
più gestibile in excel. Non è altro che un glossario, basato sull'esperienza
delle sue traduzioni. Nella colonna A vi è la fonte: parole o frasi in
tedesco e nella colonna B si trova la relativa traduzione.

Una query?? Non ho mai fatto una query con excel! Che cosa fa di bello?
Quali sono le sue caratteristeche peculiari? Può essermi utile in questo
lavoro?
Ciao,
Marc
Sergio MAZZA
2004-07-13 14:54:22 UTC
Permalink
Post by Marc
In excel, vai nel menù Strumenti >Componenti Aggiuntivi>Aggiunta
Collegamenti Access, quindi in fondo al menù Dati troverai Maschera
Access..., Report Access... oppure Converti in Access ...
Se non esiste questa opzione copia sul disco fisso il file "Acclink.xla"
(senza apici) presente sul CD di Office e aprendolo con un doppio click
avrai questo tipo di opzione.
Fatto ma preferisco altri metodi meno "sbrigativi" e dove posso controllare tutto il procedimento;
Post by Marc
Per conto di un'amica, devo importare in Access un suo file, il quale non è
più gestibile in excel. Non è altro che un glossario, basato sull'esperienza
delle sue traduzioni. Nella colonna A vi è la fonte: parole o frasi in
tedesco e nella colonna B si trova la relativa traduzione.
quindi sono due campi: colonna A "fonte" e colonna B "traduzione"; non 65000, che sono i records.
Post by Marc
Una query?? Non ho mai fatto una query con excel! Che cosa fa di bello?
Una query è uno "strumento" per interrogare database e ottenere dei dati in base anche a delle condizioni impostate.
Post by Marc
Quali sono le sue caratteristeche peculiari? Può essermi utile in questo
lavoro?
Il discorso è moolto ampio, se vuoi ottenere informazioni prova con qualche testo su SQL (Structured Query Language) e la teoria dei
database relazionali.

Utile? Forse sì se stai necessariamente utilizzando access visto che excel è diventato "stretto". Excel non è nato per gestire
grandi mole di dati; interrogarle/elaborarle (con le query) sì.
Post by Marc
Ciao,
Marc
Ciao.
--
Sergio MAZZA
Marc
2004-07-13 18:48:04 UTC
Permalink
[...]

Anchio preferisco utilizzare procedure o metodi in cui ho il controllo della
situazione.
Post by Sergio MAZZA
quindi sono due campi: colonna A "fonte" e colonna B "traduzione"; non
65000, che sono i records.

Non so, ... forse, a causa della stanchezza, mi sono spiegato in modo non
molto chiaro. In excel, nella Colonna A e nella Riga 1 (quindi nella cella
A1) vi è il seguente testo:

Die Kontraktvolumen der am Jahresende ausstehenden Derivativgeschäfte haben
sich gegenüber dem Vorjahr um 9% auf ... Milliarden Franken reduziert.
Wesentlich beeinflußt ist der Rückgang durch den tiefen Dollarkurs. Der
Abbau von strukturierten Zinsderivaten hat zu einer deutlichen Reduktion der
entsprechenden Positionen geführt. Bei sämtlichen Terminkontrakten, mit
Ausnahme der Edelmetalle und Rohstoffe, ist ein Rückgang zu verzeichnen. Be
denZinsinstrumenten ist er auf eine schächere Kundennachfrage angesichts der
geringeren Marktschwankungen, be den Devisenderivaten auf die
Nichterneuerung von Kontrakten über das Jahresende zurückzuführen. Deutlich
zugenommen haben dagegen die Wiederbeschaffungswerte, die positivem um ...%,
die negativen um 49%. Änderungen der Zinssätze und der Währungsrelationen
sowie gestiegene Aktienpreise sind dafür ausschlaggebend!


Mentre nella Colonna B e Riga 1 (quindi nella cella B1) vi è la relativa
traduzione:

A fine anno i volumi dei contratti aperti delle operazioni con derivati
erano diminuiti del 9% a ...miliardi di franchi. Tale regresso è stato
determinato in forte misura dal basso cambio del dollaro. La riduzione dei
derivati strutturati sui tassi ha causato una netta flessione delle relative
posizioni. Tutti i contratti a termine, ad esclusione di quelli sui metalli
preziosi e sulle materie prime, hanno registrato una diminuzione. Nel caso
degli strumenti sui tassi essa è dovuta alla più debole domanda della
clientela in seguito alle minori fluttuazioni sul mercato, in quello dei
derivati su divise al mancato rinnovamento dei contratti alla fine dell'
anno. Un netto incremento è stato registrato dai valori di rimpiazzo
positivi ...% e da quelli negativi ...%. Tale crescita è ricondubile in gran
parte alle variazioni dei tassi d'interesse e dei rapporti tra cambi, nonchè
all'aumento dei corsi azionari.


E così via, fino a riempire tutta la colonna A e B, le quali proseguono
nella
colonna E ed F, quindi i records (le righe in excel) sono composti solamente
di due campi (A1+B1, A2+B2, A3+B3, ecc), ma proseguono oltre la fine del
foglio elettronico e quindi oltre le 65.536 righe.


Grazie per il chiarimento sull'utilizzo delle query in Excel, mi sono
accorto anchio, che pur essendo una portentosa applicazione, Excel non è
adatto a gestire enormi quantità di dati.

Ora vedrò come ottimizzare l'importazione di tutto questo in Access.

*Grazie* di tutto e alla prossima!
Ciao,

--
Marc
Sergio MAZZA
2004-07-14 13:20:47 UTC
Permalink
Post by Marc
[...]
Anchio preferisco utilizzare procedure o metodi in cui ho il controllo della
situazione.
Post by Sergio MAZZA
quindi sono due campi: colonna A "fonte" e colonna B "traduzione"; non
65000, che sono i records.
Non so, ... forse, a causa della stanchezza, mi sono spiegato in modo non
molto chiaro. In excel, nella Colonna A e nella Riga 1 (quindi nella cella
Die Kontraktvolumen der am Jahresende ausstehenden Derivativgeschäfte haben
sich gegenüber dem Vorjahr um 9% auf ... Milliarden Franken reduziert.
Wesentlich beeinflußt ist der Rückgang durch den tiefen Dollarkurs. Der
Abbau von strukturierten Zinsderivaten hat zu einer deutlichen Reduktion der
entsprechenden Positionen geführt. Bei sämtlichen Terminkontrakten, mit
Ausnahme der Edelmetalle und Rohstoffe, ist ein Rückgang zu verzeichnen. Be
denZinsinstrumenten ist er auf eine schächere Kundennachfrage angesichts der
geringeren Marktschwankungen, be den Devisenderivaten auf die
Nichterneuerung von Kontrakten über das Jahresende zurückzuführen. Deutlich
zugenommen haben dagegen die Wiederbeschaffungswerte, die positivem um ...%,
die negativen um 49%. Änderungen der Zinssätze und der Währungsrelationen
sowie gestiegene Aktienpreise sind dafür ausschlaggebend!
Mentre nella Colonna B e Riga 1 (quindi nella cella B1) vi è la relativa
A fine anno i volumi dei contratti aperti delle operazioni con derivati
erano diminuiti del 9% a ...miliardi di franchi. Tale regresso è stato
determinato in forte misura dal basso cambio del dollaro. La riduzione dei
derivati strutturati sui tassi ha causato una netta flessione delle relative
posizioni. Tutti i contratti a termine, ad esclusione di quelli sui metalli
preziosi e sulle materie prime, hanno registrato una diminuzione. Nel caso
degli strumenti sui tassi essa è dovuta alla più debole domanda della
clientela in seguito alle minori fluttuazioni sul mercato, in quello dei
derivati su divise al mancato rinnovamento dei contratti alla fine dell'
anno. Un netto incremento è stato registrato dai valori di rimpiazzo
positivi ...% e da quelli negativi ...%. Tale crescita è ricondubile in gran
parte alle variazioni dei tassi d'interesse e dei rapporti tra cambi, nonchè
all'aumento dei corsi azionari.
E così via, fino a riempire tutta la colonna A e B, le quali proseguono
nella
colonna E ed F, quindi i records (le righe in excel) sono composti solamente
di due campi (A1+B1, A2+B2, A3+B3, ecc), ma proseguono oltre la fine del
foglio elettronico e quindi oltre le 65.536 righe.
Grazie per il chiarimento sull'utilizzo delle query in Excel, mi sono
accorto anchio, che pur essendo una portentosa applicazione, Excel non è
adatto a gestire enormi quantità di dati.
Ora vedrò come ottimizzare l'importazione di tutto questo in Access.
*Grazie* di tutto e alla prossima!
Ciao,
--
Marc
Buon lavoro...

Ciao.
--
Sergio MAZZA
Continua a leggere su narkive:
Loading...