PDA

View Full Version : importazione access


fux_vr
23-03-2005, 10:37
programma utilizzato access
INTRODUZIONE
ho un programma di contabilità. che mi crea un file excel con dei nominativi e una cifra. io devo creare un programma access che carica questo file excel e poi stampa i vari tipi di assegni.
PROBLEMA
io vado nella tabella faccio importa da file e mi importa tutti miei dati nella mia tabella di access.E poi stampo quello che mi serve. Come posso creare una questa procedura automattizata?
ho provato a creare una macro ma non trovo il sistmare per importare i dati nella tabella.


grazie per il vostro aiuto.

DigitalKiller
23-03-2005, 11:53
In access, invece di Importa, prova ad utilizzare la funzione Collega tabelle (File -> Carica dati esterni -> Collega tabelle).
In questo modo, ogni volta che i dati sull'xls vengono aggiornati, si aggiornano anche i dati nella tabella

fux_vr
23-03-2005, 13:07
non posso collegare le tabelle perche il mio programma di contabilita mi crea un file xlm nuovo ogni volta

DigitalKiller
23-03-2005, 13:21
Se il tuo programma crea di volta in volta un file con lo stesso nome, non ci sono problemi. Il nuovo file xls sovrascrive il vecchio ed in access i dati risultano aggiornati.
L'importante è che il file abbia sempre lo stesso nome e che il percorso dove viene salvato sia sempre lo stesso

fux_vr
23-03-2005, 13:24
no lo crea ogni volta nuovo. mese-anno.xlm e cancello i record vecchi. quello l ho gia fatto. poi importo i dati del mese nuovo

fux_vr
23-03-2005, 13:47
ho trovato la macro per importare. pero coma faccio a automattizare la procedura di importazione cioe' quando importo mi chiede tutte le varie impostazioni tipo la tabella di destinazione (che è sempre la stessa) ecc.

Brigante
23-03-2005, 13:53
La funzione di importazione non la puoi automatizzare con una semplice macro, ma devi implementarla tramite codice, collegandoti al file Excel e leggendo i dati nelle celle che tu sai, non è proprio semplice semplice, però se hai un minimo d'esperienza di programmazione lo fai in poco tempo.

DigitalKiller
23-03-2005, 14:11
La stampa la fai da access?

DigitalKiller
23-03-2005, 14:42
Potresti fare in questo modo.
Colleghi il file di excel ad access come ti ho detto prima. Poi, sempre in access, crei un modulo in cui inserisci questo codice (il modulo lo devi far eseguire all'apertura del db).


Sub rinomina()
Dim percorso As String
Dim nomefile As String
Dim nomefile2 As String

percorso = "miopercorso"
nomefile = "miofile.xls"
nomefile2 = "miofile.old"

Name (percorso & nomefile) As (percorso & nomefile2)
With Application.FileSearch
.NewSearch
.FileName = "*.xls"
.LookIn = percorso

If .Execute > 0 Then
For intCounter = 1 To .FoundFiles.Count
strflnm = .FoundFiles(intCounter)
Name (strflnm) As (percorso & nomefile)
Next
End If
End With
End Sub

fux_vr
23-03-2005, 15:06
Originariamente inviato da Brigante
La funzione di importazione non la puoi automatizzare con una semplice macro, ma devi implementarla tramite codice, collegandoti al file Excel e leggendo i dati nelle celle che tu sai, non è proprio semplice semplice, però se hai un minimo d'esperienza di programmazione lo fai in poco tempo.

si un po di esperieza in VB c'e ho con un vostro aiuto spero di farcela

fux_vr
24-03-2005, 08:48
help

DigitalKiller
24-03-2005, 10:13
Scusami se insisto, hai provato la soluzione che ti ho proposto?

fux_vr
24-03-2005, 11:27
non posso rinominare perchè devo importarlo in access com con VB a vene lo elaboro e lo riesporto.

DigitalKiller
24-03-2005, 14:01
Prova a guardare questo esempio che ho fatto (copia la "prova" cartella sotto C:\ altrimenti non funziona).
Aprendo la "tabella" Foglio1 leggerai i dati presenti nel file temp.xls a cui il db è collegato. Se esegui la Macro1 i dati saranno aggiornati con quelli presenti nel file nuovo_file_XX_YY.xls.
Questa macro può anche essere eseguita automaticamente all'apertura del db.
Per l'esportazione, non ho ancora avuto modo di provare una soluzione.

fux_vr
24-03-2005, 14:18
grazie 1000 è utilissimo questo allegato ti rubato un po di codice in VB. per caso tu conosci come si preleva un campo di in file?

DigitalKiller
24-03-2005, 14:44
Puoi utilizzare questo codice per importare i campi da un file di testo:

DoCmd.TransferText acImportDelim, , "nometabella", "percorso/nomefile.txt", True

igiolo
04-01-2006, 13:05
Puoi utilizzare questo codice per importare i campi da un file di testo:

DoCmd.TransferText acImportDelim, , "nometabella", "percorso/nomefile.txt", True

Ehm approffitto e resuscito questo 3d..
sapresti invece come fare il contrario..
mi spiego,ho un databse mdb,e vorrei interfacciarlo con uno o + modelli excel,di modo che se in un campo io metto il codice di un prodotto (in un foglio excel),accanto mi appaia la descrizione,che ovviamente va a pescare nel già citato file mdb.
Ho provato ad importare l'mdb in un file xls,ma il numero di oggetti è troppo elevato (pensavo magari di spezzarlo in due o tre fogli).
Stavo cercando una via tramite i vba....


TNX!!!