Pagina 1 di 1

Impostare valore iniziale campo autoincrement

Inviato: venerdì 26 novembre 2010, 15:50
da xzero2
Durante l'inserimento di alcuni dati in una tabella, mi servirebbe cambiare il valore di partenza del campo Id che poi si dovrebbe autoincrementare.

Ovvero :

Apro il formulario creato per inserire dati,
cliccando su di un pulsante, si dovrebbe aprire una finestra in cui inserire il valore di partenza del campo id.
poi inserisco i dati normalmente ed il campo id si incrementa a partire dal valore prima impostato.


E' possibile fare tutto ciò ??


saluti

xzero2

Re: Impostare valore iniziale campo autoincrement

Inviato: venerdì 26 novembre 2010, 23:00
da xergio
Come da documentazione su: http://hsqldb.org/doc/guide/ch02.html#N104B3

Codice: Seleziona tutto

ALTER TABLE ALTER COLUMN <column name> RESTART WITH <new value>;
cioè, se hai una tabella "anagrafica" con un campo autoincrementante "id", passi questo comando per far ripartire da zero:
ALTER TABLE "anagrafica" ALTER COLUMN "id" RESTART WITH 0

Nella macro in cui lanci il comando puoi cambiare a piacimento il valore.
Devi fare però attenzione alle tabelle collegate, a che non ci sia già quel valore esistente e quelli successivi (è un po' strana come operazione :shock: )

Re: Impostare valore iniziale campo autoincrement

Inviato: sabato 27 novembre 2010, 7:19
da xzero2
Ok grazie proverò.

Praticamente devo fare un inventario, per fare ciò si usano dei blocchetti da 100 fogli ad esempio blocco 1 da 100 a 199, blocco 2 da 400 a 499 blocco 3 da 1200 a 1299 ecc.

Quindi quando vado a inserire i dati, devo inserire anche il numero del foglio, che è incrementale.

Quindi prima di inserire i dati di un blocchetto devo settare il numero da cui iniziare ad incrementare.

Quindi mi servirebbe una macro che prima di settare il valore, mi chieda anche da quale valore partire.

Soluzioni alternative sono gradite.

xzero2

Re: Impostare valore iniziale campo autoincrement

Inviato: mercoledì 25 settembre 2013, 16:13
da pinosauro
ciao a tutti,

scusate, ho provato ad usare il comando che suggerite ALTER TABLE "anagrafica" ALTER COLUMN "id" RESTART WITH 0

ma se lascio "0" mi dice che violo il fatto di essere univoco e non mi fa azzerare dà errore.
Se metto un altro numero ad es. "345", va bene. A me serve però che parta da 0.

Che fare?

Grazie :(