Newsgroup: it.comp.appl.access
Titolo: Azione dopo chiusura tabella Tabella

Ciao
Uso Access 2003. Ho un mdb semplice composto da una tabella
nella quale i campi contengono le informazioni di file che ho un
po' dappertutto nell'hard disk (nome, estensione, percorso, ecc.)
Un ulteriore campo � di "selezione" (true, false)
Il mio obiettivo � selezionare i record di mio interesse e, alla chiusura
della tabella, copiarli in una cartella ben definita.
Potrebbe essere banale per voi, ma per me � un p� difficilino..
Non mi serve il codice, ma il concetto da seguire...
Quando chiudo la tabella mi trovo nel deserto.. come faccio a sapere
quali sono stati i record selezionati ?
Grazie per l'eventuale risposta.
Antonio 
 

 Quando chiudo la tabella mi trovo nel deserto....
 
Una delle cose principali è 
--- NON LAVORARE MAI DIRETTAMENTE CON LE TABELLE ---
 
Creati una maschera ( anche in visualizzazione tabellare se preferisci )
e vedrai che avrai molte più possibilità
 
___________________________________________
 
Dici che non ti serve il codice,  
ma certamente del codice gia lo usi per copiare i file selezionati
 
nella maschera metti un pulsante di "Copia e Chiudi"
che appunto 
- copia con il codice che gua usi
- genera un messaggio con l'elenco dei record selezionati
- chiude la maschera
 
 
.

 Quando chiudo la tabella mi trovo nel deserto....
 
Una delle cose principali �
--- NON LAVORARE MAI DIRETTAMENTE CON LE TABELLE ---
 
Creati una maschera ( anche in visualizzazione tabellare se preferisci )
e vedrai che avrai molte pi� possibilit�


 .........
 
L'eta non è un limite,   fra 10 anni arrivo anch'io a 70,   e abbiamo più esperienza e lungimiranza dei giovanotti "CopiaIncolla"
 
Per la finestrella cosi il primo pensiero che mi viene in mente è
 
.. Rilevi il percorso del Desktop con ENVIRON(.....)
.. Crei sul Desktop un file  .txt
.. Lo apri
.. Dopo la copia di ogni file aggiungi una riga al file .txt co nel nome del copiato
 
Se ci posti la tua procedura potremmo provare ad incastrarci dentro qualcosa di centrato
 
.

Per esempio il codice sottostante ti crea  ( evitiamo ENVIRON(...))
nella cartella del tuo file di Access un file di testo di nome "Prova.txt"
e nel file di testo il ciclo scrive tutti i numeri dispari ( Step2 ) da 1 a 20
 
[code]
Public Function ggg()
 
' creo un file di testo nella cartella in cui si trova il tuo file di access
Open CurrentProject.Path & "\Prova.txt" For Output As #1
 
    'imposto un ciclo banale da 1 a 20
    Dim x As Integer
        For x = 1 To 20 Step 2
 
            ' scrivo nel file .txt il numero del ciclo
            Write #1, x
        Next
 
    'chiudo il file  .txt
    Close #1
 
End Function
[/code]
 
.

Ciao Mancini
 
Private Sub Comando1_DblClick(Cancel As Integer)
 
Dim dbas  As Database
Dim rst As Recordset
Dim strSQL As String
Dim SourceFile As String
Dim DestFile As String
Dim Percorso1 As String
Dim Percorso2 As String
Dim NomeFile As String
Dim Cnt As Integer
 
Percorso1 = "D:\MioLavoro\"
Percorso2 = "D:\MiaNuovaCartella\"
Cnt = 0
Set dbas = CurrentDb
strSQL = "SELECT * FROM MiaTabella WHERE(((MiaTabella.Selezione)=True))"
Set rst = dbas.OpenRecordset(strSQL)
Do Until rst.EOF
   If rst.EOF Then
      Exit Sub
   End If
   NomeFile = rst("MioCampo1_NomeFile") & "." & rst("MioCampo2_Ext")
   SourceFile = Percorso1 & NomeFile
   DestFile = Percorso2 & NomeFile
   FileCopy SourceFile, DestFile
   'QUI GRADIREI INSERIRE LA FINESTRELLA DI CUI PARLAVO,
   'CIOE' POTER VEDERE SCORRERCI DENTRO VELOCEMENTE TUTTI I NOMI
   'DEI FILE COPIATI, MENTRE E' IN ONDA LA PROCEDURA.
   Cnt = Cnt + 1
   rst.MoveNext
Loop
MsgBox "File Copiati Nella Nuova Cartella: " & Str(Cnt)
rst.Close
dbas.Close
Set rst = Nothing
Set dbas = Nothing
End Sub
 

 
 
Ciao Mancini
ho risolto introducendo una etichetta
...  cut
   'QUI GRADIREI INSERIRE LA FINESTRELLA DI CUI PARLAVO,
   'CIOE' POTER VEDERE SCORRERCI DENTRO VELOCEMENTE TUTTI I NOMI
   'DEI FILE COPIATI, MENTRE E' IN ONDA LA PROCEDURA.
qui ho inserito un'etichetta.
Tutto funziona bene.
Grazie comunque per l'attenzione.
Antonio