Numero progressivo in maschera

di
Anonimizzato13810
il
5 risposte

Numero progressivo in maschera

Scusate la domanda magari banale per chi è più esperto di me.
Mi aiutate a gestire un numero progressivo da codice che si incrementa di 1 considerando che l'archivio è condiviso in rete tramite tabelle collegate sql server. Il campo progressivo è numerico.
Pensavo di scrivere del codice ma non so come controllarlo nel migliore dei modi.
Grazie

ciaoo

5 Risposte

  • Re: Numero progressivo in maschera

    giuseppe21965 ha scritto:


    considerando che l'archivio è condiviso in rete tramite tabelle collegate sql server.
    Descrivi meglio lo scenario, perchè non è chiaro quello che hai scritto.
  • Re: Numero progressivo in maschera

    Ho un database access 2007 dove c'è una maschera che contiene dei records relativi a delle commesse. La chiave della commessa è determinata dal campo numerico "numero progressivo", da un campo chiamato "revisione" e da un campo chiamato "anno".
    Le tabelle del database son tabelle collegate di sql server 2008. Quindi uso access come front-end per inserire i dati. Quello che mi serve è inserire del codice per aumentare il progressivo commessa che però dovrebbe essere incrementato solo quando si conferma la memorizzazione del record. Pensavo di utilizzare un archivio di appoggio. Cosa ne pensi?
  • Re: Numero progressivo in maschera

    In teoria, la cosa migliore è che la tua tabella (in SQL Server) abbia un campo impostato come progressivo ad incremento automatico, in genere si usa il campo della PRIMARY KEY che è sempre UNIQUE.

    Però questo non va bene se, come credo, il tuo progressivo deve essere sempre sequenziale (cioè 'senza buchi').

    In tal caso devi farlo da codice e devi recuperarlo al momento di registrare i dati (INSERT).
    Ovvero, te lo scrivo in pseudo-codice:

    1- aprire una transazione
    2- bloccare la tabella con Lock pessimistico
    .....così eviti che altri utenti possano aggiornare i dati, creando pasticci.
    3- ricavare il progressivo con Max(campo) + 1 (puoi creare una routine RicavaProgressivo())
    4- registrare il record nella tabella
    5- sbloccare il Lock
    6- chiudere la transazione (aperta al punto 1)

  • Re: Numero progressivo in maschera

    Mi puoi mettere un esempio con codice vero? Io pensavo di mettere sul campo numero progressivo nella voce predefinito un valore automatico + 1 che arriva dall'incremento di un contatore di una tabella, ma non mi funziona, mi esce l'errore #nome?
  • Re: Numero progressivo in maschera

    giuseppe21965 ha scritto:


    Mi puoi mettere un esempio con codice vero?
    Assolutamente no.
    Questo è un forum tecnico.
    Se vuoi codice già pronto devi rivolgerti al forum apposito (cercalo perché non so quale sia).
Devi accedere o registrarti per scrivere nel forum
5 risposte