Newsgroup: it.comp.appl.access
Titolo: Specifiche di importazione

Ho creato due specifiche di importazione che importano in due tabelle di Access due files txt.
Vorrei lanciare le specifiche di importazione da una routine evento associata ad un pulsante di una maschera di Access.
Come faccio? Vorrei anche che le due procedure non mi chiedessero conferme e che non mi confermassero l'avvenuta esecuzione.
Grazie in anticipo
 
gfranco1943

Il 19/08/12 18.53, gfranco1943 ha scritto:

DoCmd.TransferText
 
� quello che ti serve, chiaramente da guardarsi l'help, in particolare l 
'argomento SpecificationName, visto che ci sono 2 spec in ballo, gliele 
potresti passare da una scelta fatta nella form...ma � solo uno spunto, 
cos�...
 
ciao
Pietro

gfranco1943 was thinking very hard :

Dim myImportSpec(1 To 2) As String
Dim myTargetTable(1 To 2) as String
Dim myTxtFileName(1 To 2) as String
Dim i As Integer
 
myImportSpec(1) = "abc":  myImportSpec(2) = "def"
myTargetTable(1) = "ghi": myTargetTable(2) = "jkl"
myTxtFileName(1) = "mno": myTxtFileName(2) = "pqr"
 
For i = 1 to 2
    DoCmd.TransferText _
        TransferType:= acImportDelimited, _
        SpecificationName:= myImportSpec(i), _
        TableName:= myTargetTable(i), _
        FileName:= myTxtFileName(i),
        HasFieldNames:= True
Next
 
Bruno
 
 


Ciao Bruno,
ho fatto quello che mi hai suggerito ma mi ritorna un messaggio:
Errore di run-time '3625'.
Specifica file di testo "ImportaScannerB" inesistente. Impossibile importare, esportare o collegare con tale specifica.
Eppure quando apro Importazioni Salvate dal mio Db (Access 2007) ci sono le due Importazioni, la prima delle quali si chiama esattamente ImportaScannerB e la routine evento che lancio è:
Private Sub Comando307_Click()
Dim myImportSpec(1 To 2) As String
Dim myTargetTable(1 To 2) As String
Dim myTxtFileName(1 To 2) As String
Dim i As Integer
 
myImportSpec(1) = "ImportaScannerB":  myImportSpec(2) = "ImportaScannerS"
myTargetTable(1) = "Scanner-B": myTargetTable(2) = "Scanner-S"
myTxtFileName(1) = "F:\Duralamp\daChinaLab\Scanner-B.txt": myTxtFileName(2) = "F:\Duralamp\daChinaLab\Scanner-S.txt"
 
For i = 1 To 2
    DoCmd.TransferText TransferType:=acImportDelim, SpecificationName:=myImportSpec(i), TableName:=myTargetTable(i), FileName:=myTxtFileName(i), HasFieldNames:=True
Next
End Sub
 
Vorrei inoltre, per una migliore comprensione, che tu mi spiegassi perchè devo dettagliare le variabili :Tablename, FileName e HasFieldNames quando le due importazioni hanno già queste istruzioni.
P.S. Se lancio le due Importazioni da Dati Esterni, Importazioni salvate tutto funziona.
grazie in anticipo per la tua assistenza e cordiali saluti

 salvate tutto funziona.
 
Non devi confondere i nomi delle importazioni salvati con
i nomi delle specifiche di importazioni. Qui devi usare i nome
delle specifiche.
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 
 
 

 gfranco1943
 

 anticipo
 
 Con questa vedi tutto il film...
==================================
Private Sub Command0_Click()
Dim db As Database, RS As Recordset, SQL As String
 
Set db = CurrentDb
SQL = "SELECT MSysIMEXSpecs.SpecName "
SQL = SQL & "FROM MSysIMEXSpecs "
SQL = SQL & "GROUP BY MSysIMEXSpecs.SpecName;"
Set RS = db.OpenRecordset(SQL, dbOpenDynaset)
 
Do Until RS.EOF
    Debug.Print RS![SpecName]
    RS.MoveNext
Loop
 
End Sub
===================================
 
Bruno
 
 

 Dove posso trovare i veri nomi delle specifiche di importazione?
 
Inizia un'importazione normale per un file di testo, cio� sul ribbon
scegli dati esterni, file di testo ecc. Poi nel dialogo dell'importazione
fai clic sul pulsante <Avanzate...> e nel prossimo dialogo sul pulsante
<Specifiche...>.
Qui vedi tutte le specifiche e puoi controllare il nome di quelle
che vuoi usare.


Il giorno domenica 19 agosto 2012 18:53:23 UTC+2, gfranco1943 ha scritto:

Ciao Karl, 
adesso, dopo il tuo ultimo suggerimento e quello di Bruno, è tutto chiaro.
Ho trovato che i nomi delle specifiche erano relativi a vecchie specifiche e ho dovuto ricostruirle. Ma è stato semplice. Ho poi modificato la routine evento con i nomi appena creati e tutto ha funzionato perfettamente.
Grazie di nuovo a tutti due.
Gfranco