Pagina 1 di 1

id automatico e aggiornamento dati.

Inviato: venerdì 11 maggio 2012, 10:10
da pcognetti
Ho un gestionale runtime con file dati separato.
Quando faccio l'aggiornamento del programma, mando una nuova soluzione con file dati vuoto che importa i dati della vecchia soluzione.
Avendo più' clienti diversi con quantità di record diverse, il contatore automatico che genera gli ID dei record delle varie tabelle non è mai lo stesso con conseguenze catastrofiche come potete immaginare.
Ho quindi escogitato lo stratagemma che dopo l'importazione, tabella per tabella controllo l'ID max e reimposto il contatore automatico a ID_max +1
Tutto funziona ma mi sono chiesto se poteva esserci un metodo meno "rozzo" :)
Paolo Cognetti

Re: id automatico e aggiornamento dati.

Inviato: domenica 13 maggio 2012, 12:24
da lpm
Anch'io ho riscontrato, in altre occasioni, il tuo stesso problema. L'ho risolto in questo modo: anziché far generare gli ID automaticamente FM, ho creato una tabella apposta per la numerazione degli ID (tabella con un solo record), ed ogni volta che creo ad esempio un nuovo cliente, l'ID del cliente viene preso da questa tabella.
Mi spiego meglio: oltre alle tabelle di anagrafica (clienti, articoli, .....) ho una tabella che chiamo "progressivi", la quale ha 1 solo record e tanti campi quanti sono gli ID da gestire (ID clienti, ID articoli,.....). Ogni volta che creo ad esempio un nuovo cliente, tramite uno script vado a prendere il valore del campo "ID cliente" della tabella progressivi (lo assegno ad una variabile), incremento questo campo di 1, quindi creo il record cliente ed assegno al campo "ID cliente" della tabella clienti il valore della variabile.
In questo modo, quando devi importare / esportare i dati, prendi anche i dati della tabella "progressivi" che più agevolmente puoi aggiornare e controllare (senza far passare tutte le tabelle anagrafiche una ad una....).

Ciao

Re: id automatico e aggiornamento dati.

Inviato: domenica 13 maggio 2012, 15:32
da stregatto
io usavo una tabella di spool in cui inserivo tutti i valori delle varie tabelle (correlata per NomeTabella).

.g.