Newsgroup: it.comp.appl.access
Titolo: Rieseguire una macro

Salve , vi pongo la mia domanda:
Ho un db con tabelle collegate con odbc (informix) in un server
aziendale , con una maschera  ogni minuto lancia a video dei dati che
mi sono stati richiesti.
Capita in maniera sporadica (presumo incasinamento di server per la
mole dei dati ) che la maschera si blocchi con l'avviso che non è
riuscita a eseguire la macro (macro che contiene dentro tante query ).
La mia domanda e se esiste un metodo che se la macro va in errore ,
dia la conferma e rielabori la macro stessa?
Non so tipo una sorta di DoCmd.SetWarnings False ( o per la macro
imposta avvisi a no)
Grazie


Dipende da come hai eseguito le Query... cosa che hai puntualmente
OMESSO... ed è il Core del discorso.
Il metodo Execute membro di CurrentDb ad esempio espone un parametro
che se impostato a dbFailOnerror consente di determinare
il Fallimento della stessa...
Ricorda che sono anche supportate le Transazioni che potrebbero anche
consentire un eventuale rollback.,...
@Alex


Ciao Alex , ho in mano un db non fatto da me , ma da un mio ex
collega , dove non ho voluto stravolgere nulla , ho solo visto il
funzionamento per lo stesso , la macro ha (chiamiamola macro1) ha
apparte imposta avvisi no una 15ina di query all'interno che poi
aggiornano una maschera e sulla maschera su timer ogni minuto se non
erro la rilancia . L'anomalia e e che  in maniera non sistematica , la
macro va in errore la classica finestrella che bisogna premere l'ok
(dando l'ok riparte il timer e tutto rifunziona) puoi funzionare 100
volte come fermarsi anche alla terza esecuzione , ho pensato anche a
un blocco del record in quel momento del server perche magari ci
lavorano , e ho creato la query pass-t. (set isolation to dirty read)
per leggere i dati ma nulla.

?"Lolince"  ha scritto nel messaggio 
news:d6460d25-c35f-463b...@l22g2000pre.googlegroups.com...

__
Uno dei limiti delle macro è la mancanza della gestione degli errori
Convertila in VBA (lo fa stesso access) e gestiscilo, anzitutto capendo 
quale query fallisce
MA

 ?"Lolince"  ha scritto nel messaggionews:d6460d25-c35f-463b...@l22g2000pre.googlegroups.com...

Ciao Ma , il problema come gia scritto sopra non credo sia la macro ma
ben si il server , infatti la macro viene lanciata tranquillamente, la
rielabora anche 150 volte e quando da l'errore , mi segnala il nome
della query (che in quel momento elabora), rilanciandola , magari
fallice al terzo tentativo ma su un'altra query e cosi via , non e un
problema di query  secondo me, ma di lettura dei dati in quel momento
preciso , forse troppi utenti sono sulla lettura o scrittura di quella
tabella ....,e  credo che la set isolazion non faccia egregiamente il
suo lavoro .Qualche soluzione? Il server e un ibm informix 4gl con
collegamenti drive odbc informix (piccola premessa ho sostituito i
drive odbc con una versione successiva sdk 2.80 con la sdk 2.9 ma non
ha risolto questo problema) Grazie per l'aiuto

 MA
Ciao Ma , il problema come gia scritto sopra non credo sia la macro ma
ben si il server , infatti la macro viene lanciata tranquillamente, la
rielabora anche 150 volte e quando da l'errore , mi segnala il nome
della query (che in quel momento elabora), rilanciandola , magari
fallice al terzo tentativo ma su un'altra query e cosi via , non e un
problema di query  secondo me, ma di lettura dei dati in quel momento
preciso , forse troppi utenti sono sulla lettura o scrittura di quella
tabella ....,e  credo che la set isolazion non faccia egregiamente il
suo lavoro .Qualche soluzione? Il server e un ibm informix 4gl con
collegamenti drive odbc informix (piccola premessa ho sostituito i
drive odbc con una versione successiva sdk 2.80 con la sdk 2.9 ma non
ha risolto questo problema) Grazie per l'aiuto
___
Credo cmq che sia da gestire il fallimento delle query.
Se non lo trasformi in vba, non ne avrai mai contezza del problema.
Occhio che le Query sono asincrone, quindi magari una fallisce perch� 
presume che ci sia stata un'altra prima
MA

 ?"Lolince"  ha scritto nel messaggionews:a14cc742-4198-452b...@n18g2000vbq.googlegroups.com...

Grazie , quindi anche convertendole in vba che sicuramente fare
docmd.openquery ..blabla....
cosa mi consigli di fare?
come gestirmi gli errori o altro?

?"Lolince"  ha scritto nel messaggio 
news:2a764f17-9395-4048...@w6g2000vbo.googlegroups.com...


__
Io mi voterei al santissimo F8
nel senso, converti le macro
metti un breakpoint
lanci e segui tutto l'ambaradan step by sptep
Ciao
MA

 ?"Lolince"  ha scritto nel messaggionews:2a764f17-9395-4048...@w6g2000vbo.googlegroups.com...

Ciao MA , devo essere sincero non ho mai sentito parlare del
breakpoint , ho cercato su internet prima di postare ( o qualcuno mi
dira cerca sull'help e sull'help non ho trovato nulla) , e devo dire
da profano che non so come fare , converto la macro (ok conversione
con vba ) ma poi?
Ti ringrazio per la pazienza

?"Lolince"  ha scritto nel messaggio 
news:b077353a-228c-4ee1...@p11g2000vbq.googlegroups.com...

___
Vai all'inizio della routine e premi F9 o nei menu debug (punto di 
interruzione)
ti compare un pulsante rosso come quello del REC dei videoregistratori
lancia la routine e premi f8
questo tasto elabora punto per punto
quindi se hai un openQuery lui lo lancia e tu dopo lo verifichi...
e vai passo passo
MA

 ?"Lolince"  ha scritto nel messaggionews:b077353a-228c-4ee1...@p11g2000vbq.googlegroups.com...

Ammetto l'ignoranza ...il debug ...:) pardon