Buona sera,
stasera vorrei chiedere un parere più che un suggerimento, proprio perchè mi sono venuti dei dubbi circa un'espressione che ho scritto in un valore predefinito in un campo di una maschera. Tale maschera è a visualizzazione singola ed è collegata ad una tabella con campi numerici (con chiave primaria ID di tipo numerazione progressiva automatica). Lo scopo della maschera è quello di inserire dati un record alla volta, cioè insrisco i dati nei campi del nuovo record, poi passo al successivo e faccio uguale... inserisco decine di record al giorno (dettaglio importante, perchè il mio scopo è risparmiare tempo). Ora, uno dei campi da inserire è un numero intero che nel corso dei record deve sempre aumentare di 1, mi spiego: Ogni mattina inserisco dei record e il primo che inserisco avrà il numero 1 a tale campo, poi il secondo avrà il 2 e così via. Come posso far sì che il nuovo record che inserisco abbia a tale campo lo stesso valore del precedente ma aumentato di 1?
vi spiego come ho fatto io. Ho usato la funzione Dlast nel valore prefenito del testbox della maschera:
=Nz(DLast("numero";"tb_demo");0)+1
"numero" = campo in questione
tb_tabella = tabella collegata alla maschera che pesca da essa il ca mpo "numero" (e l ho rinominato sempre "numero")
So che la funzione Dlast non è comuqnue la più indicata, però sinceramnte non ho trovato di meglio (infatti funziona ma a volte ovviamente sbaglia, specie se modifico un record precedentemente inserito)...
Voi come fareste?
PS: a volte inserisco anche delle misurazioni di pomeriggio e di sera, ripartendo sempre dal valore 1 nel campo della numerazione progressiva, quindi non posso neanche settare una condizione where da vba che mi vincoli la scelta del numero successivo in merito alla data di immissione dei dati .
Ps: non posso cambiare il tipo di campo a livello della tabella, il campo "numero" deve restare di tipo numerico.
Grazie mille dell ascolto. Spero di essere stato chiaro
Jibi