Numeri di serie dinamici

E' l'area in cui è possibile condividere funzioni personalizzate nate dalla creatività e l'esperienza degli sviluppatori FileMaker

Moderatore: Moderatori

Maxfm
Messaggi: 83
Iscritto il: martedì 16 maggio 2006, 2:00
Località: Alessandria

Numeri di serie dinamici

Messaggio da Maxfm » lunedì 29 maggio 2006, 15:29

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. :oops:

Grazie
Max

raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Messaggio da raybaudi » lunedì 29 maggio 2006, 16:13

... e cosa vorresti che accadesse se elimini il 4 ?
Raybaudi FMP 12 Adv. Windows XP SP3

Maxfm
Messaggi: 83
Iscritto il: martedì 16 maggio 2006, 2:00
Località: Alessandria

Messaggio da Maxfm » lunedì 29 maggio 2006, 16:18

E' un eventualità che non può accadere, consento solo l'eliminazione del 5(ovvero dell'ultimo).

raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Messaggio da raybaudi » lunedì 29 maggio 2006, 17:13

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
Raybaudi FMP 12 Adv. Windows XP SP3

Maxfm
Messaggi: 83
Iscritto il: martedì 16 maggio 2006, 2:00
Località: Alessandria

Messaggio da Maxfm » martedì 30 maggio 2006, 11:13

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?

raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Messaggio da raybaudi » martedì 30 maggio 2006, 11:32

Sbagli nell'autorelazione...

Deve essere tra un campo ( che chiameremo rel ) calcolato e calcolo : 1
e se stesso

cioè:

rel::rel
Raybaudi FMP 12 Adv. Windows XP SP3

Maxfm
Messaggi: 83
Iscritto il: martedì 16 maggio 2006, 2:00
Località: Alessandria

Messaggio da Maxfm » martedì 30 maggio 2006, 14:24

Mi sento scemo.
Mica ho capito. :oops:

raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Messaggio da raybaudi » martedì 30 maggio 2006, 16:05

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
Raybaudi FMP 12 Adv. Windows XP SP3

Maxfm
Messaggi: 83
Iscritto il: martedì 16 maggio 2006, 2:00
Località: Alessandria

Messaggio da Maxfm » martedì 11 luglio 2006, 11:21

ho cercato di cavarmela, ma devo gettare la spugna : non ci riesco.
(mi vergogno per la mia stessa stupidità).

devo creare una tabella con solo due campi giusto?
e quindi avere un campo "seriale" nella master ed uno "seriale" nella correlata, e quindi metterli in relazione, giusto?

raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Messaggio da raybaudi » martedì 11 luglio 2006, 19:00

Hei, Max

mi sa che facciamo prima se mi mandi il file a : raybaudi@libero.it :wink:
Raybaudi FMP 12 Adv. Windows XP SP3

Rispondi