Campo progressivo durante inserimento dei record

di il
3 risposte

Campo progressivo durante inserimento dei record

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

3 Risposte

  • Re: Campo progressivo durante inserimento dei record

    Se non puoi distinguere in base alla data dovrai avere una ulteriore discriminante per identificare la sequenza progressiva in modo da calcolare l'ultimo valore da assegnare.
    Una soluzione è generare diversi gruppi nella giornata; per cui la prima volta sarà 1 (del giorno) e si effettuerà la sequenza progressiva alla mattina: poi l'operatore deciderà di creare una nuova sequenza, quindi si incrementa il gruppo (che diventerà 2) e al termine della sequenza pomeridiana se si deve ripartire con il contatore lo si incrementa a 3 (per la notte),
    In tal modo la progressione sarà dovuta al giorno, al gruppo (1,2,3) ed al progressivo in questo.
  • Re: Campo progressivo durante inserimento dei record

    jibi ha scritto:


    ...
    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? ...
    Solo (e sottolineo il solo) per questo aspetto, usa DMax. Per il resto non ho suggerimenti (oltre a quanto indicato da Willy55)
  • Re: Campo progressivo durante inserimento dei record

    Grazie mille !! mi scordai di ringraziarti !
Devi accedere o registrarti per scrivere nel forum
3 risposte