FILEMAKER: problema con la numerazione dei record


Recommended Posts

Salve,

sto cercando di imparare ad usare FileMaker e mi trovo davanti a due problemi.

Problema 1

Ho una tabella a cui vorrei assegnare un ID univoco. Ho messo quindi una funzione al campo ID che si basa sul valore calcolato Get ( IDRecord ), Quando cancello i record questo numero continua ad andare avanti e non si "resetta mai". Mi spiego meglio: avendo ID 11 - ID 12 - ID 13 e cancellando ID 12 questo valore non viene reimpiazzato da ID 13.

Problema 2

Se volessi che nella tabella 2 ci fosse un campo che avesse come contenuto quello di un altro campo però nella tabella 1 che cosa dovrei fare?

Grazie per l'aiuto.

Link to comment
Share on other sites

  • 3 weeks later...

1)Non utilizzare l'ID del record.

Ci ono vari modi per farlo, forse il più semplice, senza ricorrere a script vari è questo:

Crea un campo numerico con immissione automatica mediante calcolo come vedi nelle immagini di seguito:

Posted Image

Posted Image

Posted Image

Posted Image

L'unica accortezza che dovrai avere è assegnare il numero 1 al primo record che creerai, tutti gli altri si aggiorneranno in automatico e se ne cancellerai qualcuno la numerazione non andrà avanti.

Ovviamente se avessi 10 record e cancellassi il 5°, rimarrai senza il numero 5 e questo non verrà rimpiazzato, alla successiva creazione di un record avrai l'11.

Se cancelli il 10 e il 9 invece alla successiva creazione avrai dinuovo il 9

Se non è quello che vuoi fare purtroppo per rinumerare tutti i record hai bisogno di uno script che lo faccia, non ti basta una definizione dei campi.

Non è una cosa complicata ma ci vogliono più di 2 righe direi...

Link to comment
Share on other sites

  • 4 weeks later...

innanzitutto scusami se ti rispondo solo ora ma, per problemi familiari non sono stato in grado di liberarmi prima. Volevo avere maggiori dettagli sul passaggio che riguarda la correlazione. Mi sono perso.

Anche perchè non riesco a capire bene come faccia a legare il numero della scheda a quello presente nella tabella allegati.

Puoi aiutarmi?

Link to comment
Share on other sites

Io ho risolto il problema diversamente, basta fare un'autorelazione sull'id del record, della tabella che chiamerò TAB con un campo che chiamerò ID e usare un altro campo numero per la numerazione, che chiamerò NUM e la relazione/tabella che ne deriverà che chiamerò AUTO.

la relazione e questa:

TAB::ID X AUTO_ID dove la relazione è quindi sempre vera (X quindi non = o => o <=)

CON SCRIPT

Nuovo Record

definisci il campo TAB::NUM: max(AUTO::NUM+1)

il massimo che uso non è un riassunto, ma una funzione aggregata.

SENZA SCRIPT

la relazione e questa:

TAB::ID X AUTO_ID dove la relazione è quindi sempre vera (X quindi non = o => o <=)

Faccio un campo calcolato max(AUTO::NUM) chiamandolo MAX

e definisco il calcolo in un campo numero chiamato N.

N=MAX+1

Buona pasqua

Edited by Ciopa
riscontrato errore di relazione
Link to comment
Share on other sites

innanzitutto scusami se ti rispondo solo ora ma, per problemi familiari non sono stato in grado di liberarmi prima. Volevo avere maggiori dettagli sul passaggio che riguarda la correlazione. Mi sono perso.

Anche perchè non riesco a capire bene come faccia a legare il numero della scheda a quello presente nella tabella allegati.

Puoi aiutarmi?

Faccio prima a postarti un esempio che scrivere come si fa... ;-)

Ho creato un file con una sola tabella e due mini-script, uno crea i record e da l'ID , l'altro se dovesse servirti, serve per rinumerare tutti i record nel caso avessi cancellato un ID che non fosse l'ultimo e volessi una numerazione senza interruzioni

Buon divertimento ;-)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share