Creare secondo "contatore"

di il
6 risposte

Creare secondo "contatore"

Buongiorno a tutti, mi servirebbe un aiutino su una questione molto semplice, ma che non riesco a risolvere... spero che qualcuno di voi possa darmi una mano!
Nel mio database (access 2007) è presente una tabella MOVIMENTI, che ha come chiave primaria ID_MOVIMENTO
Vorrei creare un altro campo che si auto-incrementi all aggiunta di un nuovo movimento, che però a differenza dell' ID quando un record viene cancellato o annullato non riparta dal numero successivo ma da quello precedente+1...
Inoltre vorrei fosse possibile incominciasse con i numeri dell anno attuale, faccio un esempio per essere più chiaro:

Primi 3 movimenti anno 2017: 170001, 170002, 170003 ecc..
Primi 3 movimenti anno 2018: 180001, 180002, 180003 ecc..

E' una richiesta un po' particolare ma devo farlo per forza così! Spero di ricevere un'aiuto, grazie!!!

6 Risposte

  • Re: Creare secondo "contatore"

    Devi fare una funzione che restituisca 'al volo' il progressivo.
    SELECT Max(CampoNumeratore) + 1 FROM tua_tabella
  • Re: Creare secondo "contatore"

    Problema simile già trattato in passato...
  • Re: Creare secondo "contatore"

    gibra ha scritto:


    Devi fare una funzione che restituisca 'al volo' il progressivo.
    SELECT Max(CampoNumeratore) + 1 FROM tua_tabella
    Grazie mille ad entrambi, ho preferito usare la soluzione di gibra perchè più facile da applicare per un novellino come me...
    Ho ancora un dubbio però, il risultato trovato nella query lo devo far visualizzare nella sezione nuovo della mia maschera dentro alla casella di testo NUMERO MOVIMENTO.. ho provato a unire la tabella e la query nell'origine della maschera ma cosi facendo non mi fa piu creare un nuovo record... ho anche provato a scrivere dentro al campo con l'espressione ma niente da fare... consigli?
  • Re: Creare secondo "contatore"

    Poni la funzione DMax (incrementata della unità) impostandola sulla proprietà DelaultValue (valore predefinito) del controllo.
  • Re: Creare secondo "contatore"

    willy55 ha scritto:


    Poni la funzione DMax (incrementata della unità) impostandola sulla proprietà DelaultValue (valore predefinito) del controllo.
    Ciao grazie per l'interessamento, potresti essere più specifico? Sulla griglia del controllo NUMERO MOVIMENTO devo andare su valore predefinito e scrivere cosa?
  • Re: Creare secondo "contatore"

    Devi usare la funzione DMAX dopo aver letto come funziona nella guida al fine di far generare il valore voluto e ricavato dal massimo +1
    Quanto detto da Willy è chiarissimo... perché non lo comprendi..?
Devi accedere o registrarti per scrivere nel forum
6 risposte