Newsgroup: it.comp.appl.access
Titolo: evento in automatico ogni ora

Salve ragazzi,
scusate ma ho bisogno del vostro aiuto.
Nel mio database ho creato vari pulsati di comando che puntano su un
modulo chiamato AutomazioneExcel,
il quale mi pemette di trasferire i dati  da access in excel salvarsi
in un percorso stabilito sotto p.esempio:
c:\desktop\Informazioni e su questa cartella si salvano i dati con la
seguente codifica Informazioni_02/07/2007. (tutto ok)
adesso vorrei che questo salvataggio avvenisse in automatico ogni ora
e che ogni ora si andasse a sovrascivere quello + aaggiornato.
informazioi_05/02/2007 fatto alle 16:00
 fra un'ora dovro trovarmi solo il file
informazioni_05/02/2007 fatto alle 17:00
e non tutti e due
e possibile ?

 ha scritto nel messaggio 
news:1170691747.9...@v45g2000cwv.googlegroups.com...

Potresti usare l'evento timer della maschera impostando a 3600000 
l'intervallo.
Ciao, Carlo 

 ha scritto nel messaggio 
news:eq86d9$qka$1...@tdi.cu.mi.it...

Grazie Carlo della Risposta , non ho capito bene come usare questo comando 
timer dove lo devo impostare su ogni comando dove mi riporta al modulo per 
esempio su Pulsante di comando Informazioni metto sull'evento timer 36000000 
o su evento timer della maschera? c
Grazie... 

 ha scritto nel messaggio 
news:45c79ef4$0$18434$4faf...@reader5.news.tin.it...

Allora Sulla mia maschera Informazioni ho 2 pulsanti di comando uno 
informazioni e l'altro ordini , entrambi i comandi come eevento su click 
hanno entrambi
Private Sub Comando101_Click()
AutomazioneAccessExcel2007
End Sub
AutomazioneAccessExcel2007 è il modulo che gestisce l'automazione.
come  devo impostare l'evento timer per far si che entrambi i controlli si 
attivino ogni ora?
grazie
 

 ha scritto nel messaggio 
news:45c7a7d8$0$18427$4faf...@reader5.news.tin.it...

Puoi spostare il codice, come già detto, sull'evento Timer della maschera. 
L'evento Timer funziona solo se si imposta un intervallo.
Puoi trovare entrambi nelle proprietà di evento della maschera e non del 
controllo che non li ha.
Per esempio:
Private Sub Form_Timer()
call Comando101_Click
End Sub
L'intervallo Timer va impostato direttamente nella maschera delle proprietà 
di evento. In genere è impostato su 0, tu ci scrivi 3600000.
Siccome il timer funziona in millisecondi, un secondo = 1000, 3600 secondi 
(un'ora) = 3600 X 1000 = 3600000.
Ciao, Carlo 

 ha scritto nel messaggio 
news:eq95if$osb$1...@tdi.cu.mi.it...

Grazieeeeeeeeeeeeeeeee Carlo sei eccezionale, funziona , vorrei dire ma 
perche sulla guida in linea o su internet non specificano sta roba?'''... 
boh intanto grazie .
p.s Scusami carlo se ne approfitto. Siccome ogni ora va ad aggiornare il 
file xls esistente mi dice se desidero salvarlo oppure no , è possibile che 
questo comando di salvataggio venga fatto in automatico tipo
Private Sub Form_Timer()
Call Comando89_Click
Call Comando101_Click
docmd.save = true
End Sub
è corretto dove sbalgio?

 End Sub
Bisognerebbe leggere quello che hai scritto nella procedura...
Mi sa che la cosa dipende da Windows, ma, ripeto, può dipendere anche da 
come salvi il file.
Ciao, Carlo 

>>>>>---------------------
Ciao Fabrizio... interesserebbe anche me poter trasferire una query che 
ha come origine
2 tabelle in relazione tra loro 1>molti in un file di Excel... potresti 
mandarmi il codice del
modulo ???
a me interesserebbe poterlo fare tutti i giorni alla chiusura del Db... 
ma quello che mi chiedo
i dati li accoda oppure cancella i precedenti salvati già nel foglio di 
Excel ??
ti ringrazio per l'aiuto...
giuseppe

 Excel ??
no semplicemente crea ongi giorno un file excel con l'estenzione del
giorno, ciè nel mio caso
informzioni_07/02/2007
 il giorno successivo
informazioni_08/02/2007
cmq stasera ..... ti posto il codice
Ciao
No il codice

 ha scritto nel messaggio 
news:1170863093.6...@v33g2000cwv.googlegroups.com...



informzioni_07/02/2007
 il giorno successi
informazioni_08/02/2007
cmq stasera ..... ti posto il codice
scusami eccomi qui ::::))) carlo se vuoi dare un'occhiata puoi eventualmente 
dirmi se può essere fatto?
cmq il codice che sto postando non è farina del mio sacco , ma farina 
trovata dopo mille fatiche in uno splendido granaio.....:))))))
Sub AutomazioneAccessExcel()
    Dim dbLocale As Database
    Dim Informazioni As DAO.Recordset
    Dim wbkNuovo As Excel.Workbook, wksNuovo As Excel.Worksheet
    Dim rngCorrente As Excel.Range
    Dim Percorso As String
    Dim Nomefile As String
    On Error GoTo Errore_AutomazAccessExcel
    'Apre come recordset di tipo snapshot la tabella Infomazioni, e mi 
filtra i dati dell'anno 2006
    Set dbLocale = CurrentDb()
    Set Informazioni = dbLocale.OpenRecordset _
    (" SELECT  *   from Informazioni where Data Like '*06' ", 
dbOpenSnapshot)
    'Attiva Excel e apre una nuova cartella di lavoro
    Set appExcel = New Excel.Application
    Set wbkNuovo = appExcel.Workbooks.Add
    Set wksNuovo = wbkNuovo.Worksheets.Add
    'Rende visibile Excel
    appExcel.Visible = True
   'Crea le intestazioni delle colonne
   With wksNuovo
    .Cells(1, 1).Value = "ORDERS"
    .Cells(1, 2).Value = "SUPPLIERS"
    .Cells(1, 3).Value = "DATE"
    .Cells(1, 4).Value = "DATE READY"
    .Cells(1, 5).Value = "DATE ARRIVALS"
    .Cells(1, 6).Value = "CURRIERS"
    .Cells(1, 7).Value = "CLIENT"
    .Cells(1, 8).Value = "GG"
    .Cells(1, 9).Value = "GIORNI"
    .Cells(1, 10).Value = "DEPARTURE"
    .Cells(1, 11).Value = "TRUCK"
    .Cells(1, 12).Value = "BOXSES"
    .Cells(1, 13).Value = "GW"
    .Cells(1, 14).Value = "V(M3)"
    .Cells(1, 15).Value = "V(M3)-REAL"
    .Cells(1, 16).Value = "KIND"
    .Cells(1, 17).Value = "DESTINATION"
    .Cells(1, 18).Value = ""
    .Cells(1, 19).Value = "DAYS"
    .Cells(1, 21).Value = "NS"
    .Cells(1, 22).Value = "SNS"
    .Cells(1, 23).Value = "NOTES"
   End With
   'Facoltativo
   'Crea nel nuovo foglio di lavoro un intervallo
   'chiamato rngCorrente che va dalla cella A2 alla
   'cella Cx dove x è il numero dei record presenti
   'nel recordset
   Set rngCorrente = wksNuovo.Range(wksNuovo.Cells(2, 1), _
    wksNuovo.Cells(2 + Informazioni.RecordCount, 3))
   'Copia i valori del recordset nell'intervallo
   rngCorrente.CopyFromRecordset Informazioni
   'Crea la formula per calcolare la somma della colonna Importo
   'wksNuovo.Cells(2 + OrderSituation.RecordCount, 3).Value = _
    '"=SUM(C2:C" & LTrim(Str(OrderSituation.RecordCount) + 1) & ")"
   'Assegna alla colonna Importi il formato Valuta
   'wksNuovo.Columns("C").NumberFormat = "$ #,##0"
   'Dimensiona automaticamente le colonne
   'sulla larghezza massima di ciascuna
   wksNuovo.Columns("A:V").AutoFit
   ' questo và a salvare il file xls. nell percorso assegnato con il nome 
file
     Percorso = "K:\FTP-Server\"
     Nomefile = "Informazioni_" & Format(Now(), "ddmmyyyy") & ".xls"
     Nomefile = Percorso & Nomefile
    wksNuovo.SaveAs Nomefile
   'Chiude il recordset
   Informazioni.Close
   Exit Sub
Errore_AutomazAccessExcel:
   Beep
   MsgBox "Si è verificato il seguente errore di automazione:" & _
    vbCrLf & Err.Description, vbCritical, "Errore Automazione!"
   Set appExcel = Nothing
End Sub
Ciao se hai problemi sono qui:)))