Reset ID tabella database MS Access

domenica 15 giugno 2008 - 20.58

jtpsala Profilo | Senior Member

Un saluto a tutti gli utenti di questo Forum.
Volevo chiedere se con vb2008 era possibile resettare l'ID (il campo contatore) di una tabella presente in un database MS Access.
Nella mia applicazione, all'inizio di ogni anno, volevo far ripartire dal numero 1 il contatore di una determinata tabella.

Ringrazio tutti anticipatamente.

gandalf_03_75 Profilo | Junior Member

Ciao non so se puo' esserti utile ma prova a dare un'occhiata a questo link http://www.eggheadcafe.com/community/aspnet/9/83333/identityinsert.aspx.

Ciao
Per i paurosi il futuro resterà sconosciuto, per i deboli sarà irraggiungibile, per gli incoscienti offrirà nuove opportunità.

Dainesi Profilo | Senior Member

Il campo contatore è di per sè un campo numerico e univoco per cui se tu vuoi ricominciare da zero ogni anno ecco che il tuo campo contatore non è più la chiave primaria ma lo diventa solo in abbinamento all'anno fiscale.
E' comunque facile via codice recuperare l'ultimo ID e generare il nuovo.

jtpsala Profilo | Senior Member

Grazie per le risposte.
Potresti farmi un esempio di come recuperando l'ultimo ID assegnarne uno nuova partendo da 0?

Dainesi Profilo | Senior Member

Interroghi la tabella tramite un datareader e esegui la Select "SELECT MAX(ID) From Fatture WHERE AnnoFiscale = " & iAnnoFiscale
Al valore ritornato aggiungi 1 e lo utilizzi come nuovo ID.
Ricordati di ricavare il nuovo ID un istruzione prima di effettuare l'Update in modo da ridurre al lumicino le possibilità di concorrenza con altri Client. Puoi escludere del tutto questa evenienza se imposti la chiave primaria come unione dei due campi (ID e AnnoFiscale).
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5