Numeri di serie dinamici
Moderatore: Moderatori
-
- Messaggi: 83
- Iscritto il: martedì 16 maggio 2006, 2:00
- Località: Alessandria
Numeri di serie dinamici
Sarà, ma oggi non mi viene proprio...mannaggia al lunedì.
Il problema è : come faccio ad assegnare un numero progressivo ad un nuovo record , tenedo conto di quello assegnato al precedente?
Mi spiego meglio : se elimino il record che aveva come numero di serie 5, come faccio ad assegnare al successivo nuovo record di nuovo il 5?
Probabilmente la soluzione è banale, ma non mi viene proprio.
Grazie
Max
Il problema è : come faccio ad assegnare un numero progressivo ad un nuovo record , tenedo conto di quello assegnato al precedente?
Mi spiego meglio : se elimino il record che aveva come numero di serie 5, come faccio ad assegnare al successivo nuovo record di nuovo il 5?
Probabilmente la soluzione è banale, ma non mi viene proprio.
Grazie
Max
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
Allora potresti usare la funzione MAX ed una AutoRelazione.
Il calcolo deve essere inserito nel tuo campo contenente il numero seriale ( che chiameremo SERIALE ) e precisamente nelle opzioni di inserimento automatico di risultato calcolato, togliendo il flag al box che dice: "non sostituire se...".
1) Max( relazione::seriale ) + 1
Il calcolo deve essere inserito nel tuo campo contenente il numero seriale ( che chiameremo SERIALE ) e precisamente nelle opzioni di inserimento automatico di risultato calcolato, togliendo il flag al box che dice: "non sostituire se...".
1) Max( relazione::seriale ) + 1
Raybaudi FMP 12 Adv. Windows XP SP3
-
- Messaggi: 83
- Iscritto il: martedì 16 maggio 2006, 2:00
- Località: Alessandria
Probabilmente mi sfugge qualcosa , ancora non funziona.
Ho fatto così :
1) costituito autorelazione "seriale::seriale"
2) definito l'immissione automatica calcolata per il campo numerico 'seriale' con
Max(seriale::seriale)+1
3)tolto il flag a "non valutare se tutti i campi di riferimento sono vuoti" nella finestra di calcolo
4)tolto il flag a "non sostituire il valore esistente per il campo(se presente) nelle opzioni del campo
Alla creazione di un nuovo record, mi dà sempre 1 nel campo'seriale'.
Ovvero non valuta il valore più alto tra tutti i record presenti nel database, incrementando di uno.
Naturalmete ho provato le varie combinazioni di flag /non flag , e in alcuni casi non mi genera proprio alcun numero.
Dove sbaglio?
Ho fatto così :
1) costituito autorelazione "seriale::seriale"
2) definito l'immissione automatica calcolata per il campo numerico 'seriale' con
Max(seriale::seriale)+1
3)tolto il flag a "non valutare se tutti i campi di riferimento sono vuoti" nella finestra di calcolo
4)tolto il flag a "non sostituire il valore esistente per il campo(se presente) nelle opzioni del campo
Alla creazione di un nuovo record, mi dà sempre 1 nel campo'seriale'.
Ovvero non valuta il valore più alto tra tutti i record presenti nel database, incrementando di uno.
Naturalmete ho provato le varie combinazioni di flag /non flag , e in alcuni casi non mi genera proprio alcun numero.
Dove sbaglio?
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
Allora cominciamo da capo.
Crei un file con solo due campi:
1) seriale campo testo o numerico con opzione di inserimento automatico di valore calcolato e calcolo:
Max( relazione::seriale ) + 1
2) rel campo calcolato, risultato numero e calcolo:
1
3) Metti in relazione rel con se stesso, creando quindi un'autorelazione sempre verificata.
Nel grafico delle relazioni avrai qulcosa simile a:
rel -----------rel
seriale seriale
In pratica il valore del calcolo del campo "seriale" sarà dato dal MAX di se stesso (preso dalla relazione) + 1
Crei un file con solo due campi:
1) seriale campo testo o numerico con opzione di inserimento automatico di valore calcolato e calcolo:
Max( relazione::seriale ) + 1
2) rel campo calcolato, risultato numero e calcolo:
1
3) Metti in relazione rel con se stesso, creando quindi un'autorelazione sempre verificata.
Nel grafico delle relazioni avrai qulcosa simile a:
rel -----------rel
seriale seriale
In pratica il valore del calcolo del campo "seriale" sarà dato dal MAX di se stesso (preso dalla relazione) + 1
Raybaudi FMP 12 Adv. Windows XP SP3
-
- Messaggi: 83
- Iscritto il: martedì 16 maggio 2006, 2:00
- Località: Alessandria
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta: