Newsgroup: it.comp.appl.access
Titolo: conto a scalare

il mio database comincia a prendere forma pian piano.
ora dovrei realizzare un report in cui, mensilmente, riporto le
percorrenze totali delle mia auto.
KmPercorsi; Kminiziali; kmfinali (quest'ultimo campo non è altro che
la sottrazione tra i primi due)
I km iniziali sono impostati dall'utente solo la prima volta nella
tabella veicoli lato 1
Vorrei fare in modo che per il mese successivo nel report, nel campo
kminiziali, vi fossero quelli del campo kmfinali del mese precedente
E' possibile
So che per voi MVP lo è!!!

So che per voi MVP lo =E8!!!
Se il campo (numerico) che contiene il mese di riferimento si chiama
MeseRif, il campo (numerico) che identifica il veicolo si chiama
ID_Veicolo ed il controllo del report che contiene i km iniziali si
chiama txtKmIni, nell'origine controllo di txtKmIni scrivi:
=Nz(Dlookup("KmFinali","Veicoli","[ID_Veicolo]=" & [ID_Veicolo] & "
AND [MeseRif]=" & Iif([MeseRif]>1;[MeseRif] -1;12));0)
La soluzione suggerita funziona solo se:
- la tabella contiene, per ogni veicolo, un solo record per ogni mese.
- la tabella contenga un record per ogni veicolo per ciascuno dei
dodici mesi.
Perň, secondo me, il mese da solo non basta: quando avrai in tabella i
dati relativi a piů anni, dovrai usare anche l'anno.
P.S. non sono MVP ...
Vincenzo Turturro 
Certificato Eucip Core Level 
ITA 0000-002299 del 14/05/2007 
--------------------------------------------- 
il sito comune di it.comp.appl.access: 
http://www.sitocomune.com
 
--------------------------------------------- 
risorse Access: 
http://www.accessgroup.it
 
--------------------------------------------- 
Il sito comune di it.comp.as400 
http://www.faq400.com
 
---------------------------------------------

 - Mostra testo tra virgolette -
in realtà il mio db non è strutturato così.
Ho una tabella (lato 1) in cui ci sono i campi relativi al veicolo,
tra cui anche quello dei km di partenza
ed una tabella (lato molti) in cui ci sono i rifornimenti per ogni
veicolo in cui inserisco i km percorsi all'atto di ogni rifornimento
(quindi per ogni record)
Ho una query poi che calcola i consumi mensili e per ogn veicolo
restituisce i km percorsi e i litri introdotti
Con uno dei  report poi  stampo la somma mensile dei consumi e dei km
e qui c'è un campo che aggiunge la somma km ai km iniziali.
Io vorrei che il mese successivo i kminiziali siano quelli del mese
precedente ovvero il campo kmparte nella tabella lato 1 più i km
percorsi in quel mese. e cosi via per i mesi successvi

percorsi in quel mese. e cosi via per i mesi successvi
No so se la scelta che hai fatto ha una motivazione precisa di tipo amministrativo o legale, però valuta se non sarebbe
meglio memorizzare per ogni rifornimento non i km percorsi, bensì il valore segnato dal contachilometri.
In questo modo i km percorsi ad ogni rifornimento sarebbero sempre calcolabili "al volo" come
[kmRifornimento]-Nz(Dlookup("Veicoli","kmparte","[ID_Veicolo]=" & [CD_Veicolo]),0)
dove ho supposto che:
- kmRifornimento sia il campo della tabella "lato molti" dove memorizzereresti il valore del contachilometri ad ogni
rifornimento
- ID_Veicolo sia il campo identificativo della tabella Veicoli "lato 1"
- CD_Veicolo sia il campo identificativo del veicolo nella tabella "lato molti"


 ha scritto nel messaggio 
news:puq8c39s5a3eu29v4...@4ax.com...

ok, sono in effetti molto daccordo, credo faro cosi
ma nel tuo esempio "kmparte"cosa supponi sia!!? 

>>percorsi in quel mese. e cosi via per i mesi successvi
Vincenzo Turturro 


 - Mostra testo tra virgolette -
Scusa ma io proprio non riesco a capire.
Nella tabella lato uno c'è un solo valore, quello dei km all'atto
dell'avvio dell'uso del db. Questo valore ovviamente non si modifica.
Ma secondo la logica che mi hai suggerito, non è neppure più
necessario inserirlo.
Posso infatti fare riferimento ai Km del contachilometri all'atto di
ogni rifornimneto.
quindi nella mia tabella lato molti avrò il campo CONTAKM in cui
inserisco il valore segnalato dal conta chilometri all'atto di ogni
rifornimento.
potrei aggiungere un altro campo (da rendere invisibile)
CONTAKMINIZIALI in cui c'è il valore dei km col pieno che corrisponde
ovviamente al valore CONTAKM del record precedente.
Ora di questo ho bisogno!!
di ricercare il valore nel record precedente da cui sottrarre il
valore CONTAKM
dovrebbere essere una cosa di questo tipo
CONTAKMINIZIALI(del record precedente)-CONTAKM così dovrei avere i KM
Percorsi, questo ad ogni rifornimento e quindi ad ogni record

Percorsi, questo ad ogni rifornimento e quindi ad ogni record
Se DT_Rifornimento è nella tabella "lato molti" il campo che contiene la data di ogni rifornimento, hai che il valore
dei km percorsi al rifornimento precedente a quello corrente, essendo progressivo, sarà il più alto fra i valori di
tutti i record con data inferiore a quello corrente.
Ovvero:
KmPercorsi=[ContaKm]-Nz(Dmax("[ContaKm]","[TabellaLatoMolti]","[DT_Rifornimento]<#" &
Format$([DT_Rifornimento],"mm-dd-yyyy" & "#"),0)
