Newsgroup: it.comp.appl.access
Titolo: Situazione aggiornamento tabella.

Ciao a tutti.
anche il sabato tocca lavorare!
Premetto che ho cercato tramite Google gruppi "puntato" a questo NG, la 
risposta che cerco fra le 619 ottenute, ma senza esito.
Scarico in FTP aggiornamenti in XML, li importo (parser, select, etc) da 
codice;
creo una tabella temporanea di appoggio sul DB;
aggiorno la tabella di destinazione.
Questa procedura sarà avviata dal cliente con un semplice pulsante, che 
dovrebbe restituire alla fine dell'update, un msgbox del tipo "Aggiornamento 
completato."
Come faccio a sapere quando la tabella è stata aggiornata, così anche da 
eliminare la tabella di appoggio?
Grazie in anticipo.

 ha scritto nel messaggio 
news:XFaFj.273103$%k.39...@twister2.libero.it...

Se fai l'importazione con parser select, ecc. e quindi accodi i dati da...a, 
sai sempre qual'è l'ultimo dato accodato.
Se sai questo, basta leggere l'ultimo record della tabella o, se unico, 
quello corrispondente, e il gioco è fatto.
Ciao, Carlo 

 Ciao, Carlo
Francamente ho bypassato la creazione del recordset, tramite il metodo 
"Application.ImportXML", che con un file XSLT mi crea direttamente la 
tabella, da me specificata nella schema.
Per raggiungere il mio scopo non vi è altro modo che creare un RS?
Domando solo per esigenze di scadenze.
Grazie Carlo. 

 ha scritto nel messaggio 
news:CQtFj.273504$%k.39...@twister2.libero.it...

Se c'è qualche dato che conosci per certo puoi verificarlo prima 
dell'accodamento e confrontarlo poi dopo l'accodamento.
Potresti anche leggere, tra le proprietà, la data modifica della tabella, 
prima e dopo.
Ciao, Carlo 

 prima e dopo.
E' ciò che cercavo!
Mi potresti dire la funzione che mi consente di verificare la data di 
modifica?
Ciao e grazie ancora. 

 ha scritto nel messaggio 
news:%D7Gj.274552$%k.39...@twister2.libero.it...

Purtroppo la soluzione che avevo pensato non funziona se non per una 
modifica alla struttura della tabella. Infatti solo in questo caso la data e 
l'ora di modifica si "modifica".
Bisogna ricorrere ad un altra soluzione come, per esempio, l'aggiunta di un 
campo tipo "TimeStamp" con data e ora, che aggiornerai ad ogni accodamento.
Ora per trovare la soluzione più idonea è necessario che tu spieghi bene 
cosa fai e come lo fai.
Ciao, Carlo 

 Ciao, Carlo
1) Importo in Access il file .XML e lo trasformo  in una tabella dal nome 
"temporanea" di appoggio, dalla quale eseguirò le operazioni di 
aggiornamento, accodamento, eliminazione.
2) Eseguo una query e aggiorno la tabella di destinazione ("archivio"). Sino 
a qui tutto OK. Ti ricordo (come spiegato precedentemente) che non utilizzo 
recorset (a meno che non si riveli necessario).
3) A questo punto devo cancellare la tabella "temporanea". Per ovvi motivi, 
devo sapere quando l'operazione al passo "2" è stata completata.
Spero di essere stato più chiaro Carlo e grazie ancora.

 ha scritto nel messaggio 
news:qbvGj.275466$%k.39...@twister2.libero.it...

Conta i record della tabella di destinazione prima della procedura..li 
riconti dopo e confronti i due valori.
Ciao, Carlo 

 Ciao, Carlo
In effetti sarebbe semplice, come da tuo consiglio, ma teoricamente potrei 
non avere un n° di record diverso dopo l'aggiornamento, perchè la tabella 
"temporanea" potrebbe contenere anche solo dei semplici update (prezzo, 
etc), che andrebbero a sostituire il valore di alcuni campi nella tabella 
"archivio". Temo mi fosse sfuggita questa ultima particolarità e ti chiedo 
scusa.
Grazie per la pazienza ;-) 

 ha scritto nel messaggio 
news:ijNGj.44738$FR.2...@twister1.libero.it...

Nessun problema.
Puoi usare il confronto di dati o la query ricerca dati non corrispondenti 
anche se preferisco il codice.
Se la tabella temporanea aggiorna i dati di una tabella "archivio" vuol dire 
che, non solo esiste una tabella temporanea ma che la procedura sa 
esattamente quale record aggiornare...ci sarà un record univoco che viene 
aggiornato...
Ti sarà facile leggere il valore corrispondente prima e dopo.
Altra strada è quella della query di "ricerca dati non corrispondenti" 
applicata al campo che ti interessa.
Le tabelle da usare sono ovviamente le due interessate con join sul campo 
univoco comune.
Prima dell'operazione la query restituisce un certo numero di record (basta 
contarli), dopo l'operazione nessuno; questa è la prova che la tabella 
archivio è stata aggiornata con la tabella temporanea.
Ciao, Carlo 

 ha scritto nel messaggio 
news:fsi8id$l59$1...@tdi.cu.mi.it...

Grazie infinite Carlo! ;-)
Fabrizio.