Newsgroup: it.comp.appl.access
Titolo: annullare il ciclo for...next

dim dbname(8) as string
dbname(0)="Nome1.mdb"
dbname(1)="Nome2.mdb"
....
dbname(7)="Nome8.mdb"
 For i=0 to 7
    currentdb.execute "INSERT INTO RIFORNIMENTI  SELECT * FROM
  ESPORTADATI IN '" & dbname(i) & ".MDB' WITH OWNERACCESS OPTION;"
con questa istruzione, suggerita da Cinzia qualche giorno fa, faccio in modo 
di importare nel mio db i dati da più file che hanno - nel tempo - sempre lo 
stesso nome: nome1, nome2 ...., nome7.
ho fatto in modo che ci sia un messaggio quando un file non viene trovato.
però mi sono accorto che i dati degli altri db vengono ugualmente importati.
c'è un modo per annullare l'importazione se non ci sono nella cartella 
predefinita tutti i file da cui devo importare i dati
oppure un modo per verificare prima la loro presenza e poi lanciare il ciclo
Grazie 

 Grazie
-- 
-- 
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access
Segrate (MI), 7-8 giugno 2007


mi dispiace ma non funziona.
se ci sono tutti i file importa
se ne manca uno importa ugualmente dal file presente
io voglio invece che mi interrompa l'importazione
se invece di <> metto =
non trova il file se nella directory non c'è
ma se ci sono tutti  non da errori ma non fa l'importazione


Mi vengono in mente quattro diversi metodi
1) Cancellare i dati scritti
2) Usare transazioni
4) Fare prima un ciclo che verifichi se i db ci sono tutti e solo in 
quel caso eseguire le insert
Ho soppresso il caso 3 perche' e' una una inutile complicazione del caso 
4. Io sono per la 4, la verifica "preemptive" dei db non porta via molto 
tempo ;<)
-- 
ac
y-1=x

 ha scritto nel messaggio 
news:4bWzi.8201$fb....@tornado.fastwebnet.it...

scusa ma non ho capito nulla!!! 

 ha scritto nel messaggio 
news:46d07f85$0$17944$4faf...@reader1.news.tin.it...

Con il suggerimento di MAssimiliano, potresti creare una funzione tipo 
questa che ti controlla se i db esistono e qualora ne mancasse uno esce 
dalla funzione passando quest'ultima a "false":
Function ExistDB()
Dim i As Integer
Dim dbname(3) As String
dbname(0) = "c:\prova1"
dbname(1) = "c:\prova2"
dbname(2) = "c:\prova3"
For i = 0 To 2
If Dir(dbname(i) & ".mdb") <> "" Then
   ExistDB = True
Else
   ExistDB = False
   Exit Function
End If
Next i
End Function
nell'evento click del pulsante:
Private Sub NomeTuoPulsante_Click()
Dim i As Integer
Dim dbname(3) As String
dbname(0) = "d:\ciccioriccio"
dbname(1) = "d:\pippo"
dbname(2) = "d:\fattoquesto"
If ExistDB = True Then
For i = 0 To 2
 CurrentDb.Execute "INSERT INTO RIFORNIMENTI SELECT * FROM ESPORTADATI IN '" 
& dbname(i) & ".mdb' WITH OWNERACCESS OPTION;"
Next i
End If
End Sub
-- 
Ciao
Access 

 >>> non trova il file se nella directory non c'č

Singolare il fatto di aggiungere l'estensione dopo... ;-)
E se la mettevi quě...?
dbname(0) = "d:\ciccioriccio.mdb"
dbname(1) = "d:\pippo.mdb"
dbname(2) = "d:\fattoquesto.mdb"
Boh....
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------

 ---------------------------------------------------------------------------
-- 
Ciao
Access 

 Grazie.
Voleva essere una battuta, ma ....
Questo è quello che hai proposto:
dbname(0) = "d:\ciccioriccio"
.....
If Dir(dbname(i) & ".mdb") <> "" Then
Questo è quello che intendevo
dbname(0) = "d:\ciccioriccio.mdb"
If Dir(dbname(i)) <> "" Then
Non c'è differenza ovviamente di funzionamento ma perchè mai non mettere
l'estensione già nella stringa...????
Dimmi tu se secondo te c'è un motivo, io non lo trovo...
;-)


 ---------------------------------------------------------------------------
-- 
Ciao
Access 

 Access
Ciao
@Alex

@Alex
-- 
Ciao
Access