Newsgroup: it.comp.appl.access
Titolo: importazione di tanti file .dbf

Devo importare un centinaio di file con estensione .dbf in un database
access e creare una tabella per ogni file importato.
Vorrei creare un modulo che faccia questo in automatico senza che io
debba fare importa tabella per 100 volte e oltre.
Conosco molto poco il vba, quindi vorrei saere se esistono esempi da
guardare o avete consigli sul codice da scrivere
Grazie mille
Ciao

 ha scritto nel messaggio 
news:1126701225.2...@z14g2000cwz.googlegroups.com...

Ma i files sono uguali? nel senso, cambia solo il contenuto e non la 
struttura?
Se č questo il caso, potresti fare cosě :
1) fai il collegamento della tabella solo al primo file
2) ti crei una query di creazione tabella
4) la esegui da codice :
    Docmd.setwarnings False
    Docmd.RunSQL "....scrivi SQL che ti serve..."
    Docmd.setwarnings True
5) Cambi il link alla tabella passandola al secondo file. (*)
6) Ripeti dal punto 4 finchč i file non sono finiti.
(*) sul sito comune ti guardi l'esempio relativo al Relink delle tabelle 

Adesso provo ad informarmi su questa cosa che mi hai detto, ma cmq non
credo sia perfetta per il mio problema.
spiego melgio: Ho 150 file con estensione .dbf, non so cosa siano,
probabilmente tabelle diverse tra loro e in maggioranza vuote.Io le
devoimportare in un database come tabelle e come nome devo utilizzare
il nome del file.
Quindi se si chiama "abcd.bdf" la tabella dovrà chiamarsi "abcd"
Il tutto vorrei avvenisse in modo automatico, nessun bottone nessun
click, avviata la macro voglio che termini con l'importazione ove
possibile di tutti i file.
Sto cercando da un paio d'ore ma non ho trovato esempi che mi hanno
saputo aiutare.
Attendo news thx
Ciao

possibile di tutti i file.
Il metodo è più o meno quello che ti ho già postato...
con accorgimenti specifici del caso, ma il processo è quello...


 ha scritto nel messaggio
news:1126707883.1...@f14g2000cwb.googlegroups.com...





Ciao Davide,
una delle possibili soluzioni
----
Sub ImportaDbf()
 Dim Path As String     'Percorso dei files DBF
 Dim NomeFile As String 'Nome del file da importare
 Dim StrSql As String   'Stringa di comando
 Path = "C:\Db3File"
 NomeFile = Dir(Path + "\*.DBF")
 Do
    If NomeFile = "" Then Exit Do
    StrSql = "Select * " & _
           "INTO " & Replace(NomeFile, ".DBF", "") & " " & _
           "From [DBASE III;Database=" & Path & "]." & NomeFile
    CurrentDb.Execute StrSql
    NomeFile = Dir()
 Loop
End Sub
----
nell'esempio ho considerato i file DBF come DBASE III, vedi tu se il tipo di
file è giusto.
Ciao Giorgio

           "From [DBASE III;Database=" & Path & "]." & NomeFile
e la connessione la prende cosi?


 e la connessione la prende cosi?
quale è il dubbio  ?
Ciao Giorgio

 quale è il dubbio  ?
di funzionamento... a me non funziona...
StrSql risulterebbe per esempio :
Select * INTO CUSTOMER.DBF From [DATABASE 
III;Database=C:\FileDBS].CUSTOMER.DBF
e alla sua esecuzione Access cerca il File CUSTOMER.MDB che ovviamente è 
mancante...
che mi sono perso? 

Risolto... spazio mancante nel codice :-D
Vabbè capito... vado a casa.
;-)
-- 
Ciao
----------------------------------------------------------
:: Pablitomf (Maurizio Facciuti)
:: Access : Ver.97 - 2K
----------------------------------------------------------
http://www.accessgroup.it/
http://www.sitocomune.com/
http://www.napolisoccer.it/
----------------------------------------------------------
La mia tesi :
"Non mi fido molto delle statistiche, perchè un uomo con la testa nel forno 
acceso e i piedi nel congelatore statisticamente ha una temperatura media." 


il nome dell'isam e il nome della tabella
----
Select * INTO CUSTOMER From [DBASE III;Database=C:\FileDBS].CUSTOMER
----
Ciao Giorgio

Allora ho provato i vostri suggerimenti, e sembra funzionare per
l'import della prima tabella, ma poi mi dice che la tabella esiste
già, probabilmente perchè continua a voler importare sempre la
stessa, pensavo di eliminare man mano le tabelle importate con
Kill (NomeFile)
Ma dice che non trova il file (ovviamente Nomefile è una stringa
comprensiva di tutta la path della dir in cui si trova il file più il
nome del file)
Un ulteriore controllo che vorrei introdurre poi è il controllo se la
tabella è vuota o no ed in caso sia vuota eliminarla.
Aspetto ancora suggerimenti
Grazie mille

ho risolto da solo il problema del kill, ma ne ho un altro, se il file
non puo' essere importato si blocca e non importa le altre tabelle,
dovrei cercare di superare questo problema....
sapete aiutarmi?

Aspetto ancora suggerimenti
Ciao Davide,
la routine non importa sempre la stessa tabella, quindi non c'è bisogno di
fare il Kill.
Io ho provato ad importare 10 tabelle, forse hai inserito qualche modifica
al codice, potresti postarlo in modo da individuare eventuali errori ?
Poi vediamo la questione delle tabelle vuote.
Ciao Giorgio

 ha scritto nel messaggio
altra cosa:
i nomi dei files DBF superano gli otto caratteri (estensione esclusa) ?
Ciao Giorgio