Newsgroup: it.comp.appl.access
Titolo: Leggere valori precedenti di un record...........

Salve a tutti!
Scusate se riposto il quesito simile al precedente perchè mi sono accorto 
che l'istruzione di Luciani (funziona stranamente in Access 2003 e non in 
'97 ?!?!?) ma non più adatta al mio scopo in quanto:
Ho necessità di dover aggiornare, in una sottomaschera a maschera continua, 
i valori dei precedenti record.
Mi spiego meglio:
ho una tabella dipendenti con campi dipendente e relativo id;
tabella servizi con campi id e data;
tabella servizio con iddipendente e servizio, tutti ovviamente correlati.
Maschera Servizi con sottomaschera Servizio (maschera continua).
Ho creato una query che dopo l'aggiornamento della data, nella maschera 
Servizi, automaticamente nella sottomaschera servizio mi inserisce i 
dipendenti. Per evitare di inserire il servizio per ogni dipendente, quì ci 
vorrebbe un codice per andare a prendere il valore del singolo dipendente 
che ha fatto il servizio il giorno precedente.
L'autorevole istruzione di Luciani non può essere applicata in questo caso.
Grazie ancora della cortese attenzione e tutti quelli che mi hanno 
precedentemente risposto e aspetto pazientemente un V/s consiglio.
Marco.

 Marco.
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

 ha scritto nel messaggio 
news:aaI8f.36842$Pe2.6...@twister2.libero.it...

Carissimo Roberto,
innanzitutto ti rignrazio per la tua (come sempre) squisita disponibilità.
Dunque, a me pare che il problema sia alquanto semplice anche se, forse, 
l'ho prospettato più complicato del previsto.
Ipotizziamo un inserimento di un servizio, per data, (es. lunedi, martedi 
ecc.ecc.) con una sottomaschera - a maschere continue - di tutto il 
personale dipendente di una ditta e, ogni giorno, si deve inserire il 
servizio di ogni singolo dipendente con l'orario di lavoro, straordinario 
ecc.ecc.
Ora il problema è questo:
ho già creato una query dove mi inserisce tutti i dipendenti, pronta ad 
inserire, per ognuno, il nuovo servizio odierno.
Quesito:
è possibile ottenere, dalla giornata precedente, nel controllo servizio, il 
servizio svolto? così si ha la comodità di fare poche variazioni e/o 
inserimenti.
Nella speranza di essere stato abbastanza chiaro, confido, oltre Te, in 
autorevole risoluzione.
Grazie ancora.
Marco. 

Salve a tutti!
Sono molto vicino alla soluzione con questa query:
INSERT INTO servizio ( dipendente, idservizi, servizio )
SELECT dipendenti.iddipendente, [Forms]![servizi]![idservizi] AS Espr1, 
DLookUp("servizio","servizio","IDservizi=" & "(forms!servizi!IDservizi)-1") 
AS Espr2
FROM dipendenti INNER JOIN servizio ON dipendenti.iddipendente = 
servizio.dipendente
WHERE 
(((dipendenti.iddipendente)=DLookUp("dipendente","servizio","IDservizi=" & 
"(forms!servizi!IDservizi)-1")) AND ((dipendenti.presente)=Yes));
Praticamente nell'inserimento di un nuovo giorno, anzichè ricopiarmi i 
precedenti records, mi copia solo il primo.
Forse necessita qualche istruzione di codice VB per ovviare alla query, in 
modo da far leggere tutti i records inseriti nel giorno precedente ma, 
purtroppo, sicuramente, la funzione DLOOKUP forse non è appropriato.
Mi aiutate?
Grazie anticipatamente.
Marco. 

 ha scritto nel messaggio 
news:43648d5f$0$24642$4faf...@reader3.news.tin.it...

Ok, la soluzione è stata più semplice del previsto:
INSERT INTO servizio ( dipendente, servizio, idservizi )
SELECT dipendenti.iddipendente, servizio.servizio, 
[forms]![servizi]![idservizi] AS Espr1
FROM servizi INNER JOIN (dipendenti INNER JOIN servizio ON 
dipendenti.iddipendente = servizio.dipendente) ON servizi.idservizi = 
servizio.idservizi
WHERE (((dipendenti.presente)=Yes) AND 
((servizi.idservizi)=[forms]![servizi]![idservizi]-1));
Unico problema che quando, per errore, si deve cancellare una data (un 
servizio intero), il contatore lascia "un buco" e, quindi, l'ultima 
istruzione della query, in SQL, non funge. Comunque ci sto lavorando, magari 
abilito qualche altro controllo per il criterio.
Grazie anticipatamente.
Marco.