Elenco record in un portale

Utilizzo dei portali in un database FileMaker

Moderatore: Moderatori

Rispondi
gilfor
Messaggi: 162
Iscritto il: sabato 9 dicembre 2006, 1:00
Versione FileMaker: 16
Sistema operativo: MAC OS
Località: Bergamo
Contatta:

Elenco record in un portale

Messaggio da gilfor » mercoledì 30 gennaio 2013, 20:28

Buonasera a tutti,
non riesco a risolvere il problema di una relazione in apparenza semplice. Ho una tabella anagrafica con i seguenti campi:
- idSocio
- nome e cognome
- categoriaSocio
- DataIscrizione (indicizzato)
- DataCessazione indicizzato)

Una seconda "tabella evento" con i seguenti campi:
- CategoriaSocio
- DataEvento

Le due tabelle sono poste in relazione tramite il campo <categoria>. In questa seconda tabella ho inserito un portale per ottenere l'elenco dei soci della categoria selezionata in base alla data di un evento. Quindi, inserendo la data dell'evento, ottengo la lista desiderata. Fin qui tutto fila liscio.
Avrei invece bisogno di filtrare la lista in funzione delle date. Nell'impostazione del portale, cliccando su "Filtra record" ho pertanto cominciato ad inserire la seguente condizione:
ogni record del portale è visibile quando: Tabella evento::Data evento > Tabella Anagrafica::DataIscrizione.
Il risultato che ottengo è quello sperato, e cioè mi viene visualizzato l'elenco dei soli soci la cui data di iscrizione sia inferiore alla data dell'evento.

Siccome avrei anche bisogno che nell'elenco non venissero visualizzati i soci cessati prima della data dell'evento, ho integrato l'impostazione del filtro nel portale in questo modo:
ogni record del portale è visibile quando: Tabella evento::Data evento > Tabella Anagrafica::DataIscrizione and Tabella evento::Data evento < Tabella Anagrafica::DataCessazione.

A me la condizione sembrerebbe logica, ma purtroppo con questa formula ottengo come risultato un portale vuoto e, sarà forse banale, ma non riesco a capire dove sto sbagliando.
Qualcuno mi può indirizzare sulla retta via?
Grazie mille per l'attenzione.
Gilberto
(FM PRO 11)
--------------------------
Mac OS X
FileMaker Pro 16

gozzi
Messaggi: 700
Iscritto il: giovedì 25 marzo 2004, 1:00
Località: Torino

Re: Elenco record in un portale

Messaggio da gozzi » mercoledì 30 gennaio 2013, 21:24

La formula non può funzionare se il socio non ha una data di cessazione.
Puoi modificarla così:

Codice: Seleziona tutto

Tabella evento::Data evento > Tabella Anagrafica::DataIiscrizione
and
(Tabella evento::data evento < Tabella Anagrafica::DataCessazione or EVuoto(Tabella Anagrafica::DataCessazione))
FMPA 12- Win e OsX

gilfor
Messaggi: 162
Iscritto il: sabato 9 dicembre 2006, 1:00
Versione FileMaker: 16
Sistema operativo: MAC OS
Località: Bergamo
Contatta:

Re: Elenco record in un portale

Messaggio da gilfor » mercoledì 30 gennaio 2013, 23:07

Urrah!, grazie mille Gozzi, funziona perfettamente. Però, affinché possa capire e aggiungere un po' di "sapienza" alle mie fragili conoscenze, mi potresti per favore spiegare perché non poteva funzionare la mia formula e perché, invece, funziona la tua?
Comunque, grazie ancora.
Gilberto
--------------------------
Mac OS X
FileMaker Pro 16

gozzi
Messaggi: 700
Iscritto il: giovedì 25 marzo 2004, 1:00
Località: Torino

Re: Elenco record in un portale

Messaggio da gozzi » giovedì 31 gennaio 2013, 8:52

Un campo lasciato vuoto equivale ad un valore nullo, zero
In filemaker anche se visualizzata come gg/mm/aaaa la data viene calcolata in giorni: il giorno 1 è il 1/1/0001.
Puoi verificarlo inserendo la semplice formula assoluto(data) che ti riporterà quanti gg sono passati dal giorno 0

Per esempio, assoluto(get(datacorrente)), oggi ti restituirà 734899, domani 734900 e così via...

Se inserisci come condizione

data_evento<data_cessazione

ed il campo data cessazione è vuoto, è come se scrivessi

data_evento<0

Capirai bene che qualunque sia la tua data di cessazione è molto difficile che sia prima del 1/1/0001 ;))
FMPA 12- Win e OsX

Rispondi