Newsgroup: it.comp.appl.access
Titolo: ricostruire tabella con record piu' recenti

Salve a tutti; per esigenze di backup dei dati ho inserito all'interno della
tabella un campo data che si aggiorna automaticamente ad ogni modifica. In
base a questo campo, esporto i dati creando nuove tabelle in base alla data
di ultima modifica. Il problema si pone se si dovessero usare queste tabelle
per ricostruire la tabella principale, datoché in fase di accodamento dei
dati ci si troverebbe davanti a più record con lo stesso id, ma con data
ultima modifica diversa. Come dice Lubrano, la domanda sorge spontanea, e
cioè:
come importare i dati, testando i record con lo stesso id e facendogli
replicare solo quelli con la data più recente?
grazie e spero di essere stato chiaro
Francesco
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 grazie e spero di essere stato chiaro
CHIARO COME LA PECE DI NOTTE AGLI OCCHI DI UN CECO IN COMA FARMACEUTICO
DOPO UNA DOSE MULTIPLA DI SONNIFERI TAGLIATI CON MORFINA E DROGHE PESANTI
DI VARIO GENERE 
PIERSILVIO MAIALONI
RACCOLTA DI FIRME CONTRO LA PACE IN IRACKQU:
  LKDSJFS DSOPFJSD
  DIOFUS+S'D0F E09FU
  DSFOISO AOUDAS
  SADOFPUWELW
  DSFO  REWOIOIWEIRWE
  DSFOO I EIWOI
  EWRW 
EHI NON SUPITEVI...SONO NOMI IRAKENI!! IGNORANTI
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Se hai una tabella chiamata Storico che ha una struttura simile a questa:
IDpk                    Contatore e chiave primaria
ID                        Numerico
Campo1
Campo2
Campo3
DataVariazione    Data/ora
Se vuoi una query che ti restituisca per ogni ID il record che ha la
maggiore DataVariazione, prova con una query che abbia il seguente codice
SQL:
SELECT Storico.*
FROM Storico
WHERE Storico.IDpk IN(SELECT DLookUp("IDpk","Storico","ID=" & [ID] & " And
DataVariazione = #" & Format(Max(Storico.DataVariazione),"mm/dd/yyyy") &
"#") AS Pippo
FROM Storico
GROUP BY Storico.ID;);
Se invece il campo ID č di tipo testo, prova cosě:
SELECT Storico.*
FROM Storico
WHERE Storico.IDpk IN(SELECT DLookUp("IDpk","Storico","ID='" & [ID] & "' And
DataVariazione = #" & Format(Max(Storico.DataVariazione),"mm/dd/yyyy") &
"#") AS Pippo
FROM Storico
GROUP BY Storico.ID;);
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


Mi è abbastanza chiaro, però il campo ID della mia tabella è uno solo ed è
chiave primaria.
ciao
F


 F
Riporto qui di seguito virgolettato quello che hai scritto nel tuo primo
messaggio:
<omissis>
"in fase di accodamento dei dati ci si troverebbe davanti a piů record con
lo stesso id, ma con data ultima modifica diversa."
<omissis>
Di due l'una: il campo Id NON č la chiave primaria (come fra l'altro ho
presupposto, su tua indicazione, nella mia soluzione) ed allora la mia
soluzione dovrebbe funzionare; oppure come dici nel tuo ultimo messaggio ed
allora potrai avere un solo record che abbia quell'id e non "piů record con
lo stesso id" come hai precisato nel tuo primo messaggio.
Ti faccio presente che nel mio esempio con ID intendo un campo che contiene
un campo di codifica che identifica una persona i cui dati vengono variati
nel tempo.
Comunque a questo punto, per continuare il dialogo sul tuo problema č per me
necessario che posti la struttura della tabella che contiene i dati,
spiegando anche il significato dei campi, specie delle chiavi.



Caro Roberto la struttura della mia tabella č:
id --->chiave primaria
data ult mod---> campo data
campo1
campo2
campo3
ecc.
l'export dei dati che io immagino, selezionati per data ult mod, č questo:
esporta tutti i record moficati dal 05/02 al 07/02
poi ancora
esporta tutti i record moficati dal 07/02 al 09/02....ecc.
il tutto chiaramente creando di volta in volta tante tabelle diverse di
piccola taglia, per una facile trasportabilitŕ.
Chiaramente noi ci troveremo di fronte, in un eventuale ricostruzione della
tabella totale, alcuni record che avranno l'id comune ma la data di ultima
modifica diversa, ed č quě che nel ricostruire l'unica tabella, vorrei
testare i record con id uguale č facendo si che nella tabella generale fosse
inserito solo quello con data ult mod piu' recente.
Spero di essere stato abbastanza chiaro nell'esporre il problema.
Ciao e grazie
Francesco


 Francesco
Creati una tabella  temporanea chiamata Storico che abbia la struttura da me
indicata nel mio messaggio del 6 febbraio 2004 ore 17:32.
Accoda in tale taella i dati di tutte le tue tabelle "di piccola taglia".
Alla fine nella tabella Storico avrai tutti i dati contenuti nelle tabelle
"di piccola taglia" ed ogni record sarà contrassegnato da una chiave
primaria IDpk: per avere solo i records più recenti per ogni ID esegui la
query di cui ti ho dato il codice SQL nel mio messaggio di cui sopra.
