+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Campo autoincrementante che rinumera in automatico quando si cancella 1 record

  1. #1
    Spaginato non è in linea Scolaretto
    Post
    108

    Campo autoincrementante che rinumera in automatico quando si cancella 1 record

    Buongiorno
    dopo aver letto che non si può riaprire un thread (scusate se ho tentato di farlo).
    In virtù del Regolamento (Un'altra domanda = Un'altro thread) avrei da porVi un quesito in merito a questa funzione inserita in un campo numerico di una maschera

    codice:
     DMax("[PartNum]", "[Partite]", "IDSquadre = " & Me!IDSquadra))
    Mi sono accorto che nella nell'incremenzazione del numero dei record se ne cancello uno mi sballa tutto e non ho modo di correggere se non quello del reinserire i dati di tutti i record.
    Ci sarebbe il modo che una volta cancellato il record la funzione li ricontasse e creasse la nuova numerazione?
    Grazie

  2. #2
    L'avatar di muttley005
    muttley005 non è in linea Scribacchino
    Post
    1,634
    cosa vuol dire ti sballa tutto?
    la funzione DMAX non sballa nulla, ti restituisce sempre il massimo dei valori in base al filtro che applichi

  3. #3
    Spaginato non è in linea Scolaretto
    Post
    108
    Quote Originariamente inviato da muttley005 Visualizza il messaggio
    cosa vuol dire ti sballa tutto?
    la funzione DMAX non sballa nulla, ti restituisce sempre il massimo dei valori in base al filtro che applichi
    Infatti funziona bene
    Il problema nasce quando cancello un record per vari motivi
    se provo ad reinserirlo continua la numerazione dall'ultimo

    codice:
    Record n 1 
    Record n. 2
    Record n. 3
    
    cancello il 2 e provo ad inserire un nuovo record attribuiendo il numero cancellato ... il 2
    
    Non me lo accetta mi carica automaticamente il 4
    Vorrei che access cancellando il record mi desse la possibilità di recuperare quella numerazione

  4. #4
    L'avatar di gibra
    gibra non è in linea Amanuense
    Luogo
    Breganze (VI)
    Post
    5,837
    Quote Originariamente inviato da Spaginato Visualizza il messaggio
    Vorrei che access cancellando il record mi desse la possibilità di recuperare quella numerazione
    Non è così che funziona, quindi non è possibile.

    Non esiste una tale funzione in nessun database esistente (prova a chiederti il perché...)

    Se vuoi proprio farlo, devi farlo 'a mano' cioè digitare il codice manualmente.

  5. #5
    L'avatar di nman
    nman non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,532
    Quote Originariamente inviato da Spaginato Visualizza il messaggio
    .... Vorrei che access cancellando il record mi desse la possibilità di recuperare quella numerazione
    Concordo con Gibra, Non funziona cosi perchè non ha senso
    quei tipi di numerazione si usano su elenchi dove il numero si attribuisce a qualcosa
    e poi deve restare immutato negli anni indipendentemente dalla eliminazione o meno
    di qualcosa che precede

    Punto



    Ma a questo punto ci chiediamo perchè salvi in tabella un numero progressivo
    che poi automaticamente e senza altri consensi possa cambiare ??

    Se questa è la tua esigenza non devi salvare quel numero in tabella,
    bensì ti bastava fare una query usando il DCount invece del DMax

    Conta i numeri che hanno:
    - IdSquadra uguale
    - e Key minore ( perche una Key devi averla )

    .

  6. #6
    L'avatar di muttley005
    muttley005 non è in linea Scribacchino
    Post
    1,634
    Già tutto detto, aggiungo solo che TECNICAMENTE è anche facile fare ciò che chiedi ... ma se di solito questo metodo non si usa ci sarà un perchè, no?
    comunque se proprio vuoi complicarti la vita (e forse creare problemi, dipende dal significato di quel campo) ti basta un ciclo vba in cui controlli eventuali buchi

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi