ricavare elenco da portale

Utilizzo dei portali in un database FileMaker

Moderatore: Moderatori

Rispondi
zarate
Messaggi: 83
Iscritto il: domenica 29 agosto 2004, 2:00
Versione FileMaker: 16 Ad
Sistema operativo: 10.14

ricavare elenco da portale

Messaggio da zarate » domenica 7 aprile 2019, 10:28

Buongiorno a tutti,
al terzo giorno di prove ed errori, devo arrendermi all'evidenza: non sono capace...

provo a spiegare brevemente cosa non riesco a fare.
La tabella INOUT contiene un record per ogni ospite con, tra gli altri, i campi CHECK-IN, CHECK-OUT e DATIxISTAT (una stringa di testo calcolata che andrebbe inviata all'ISTAT).
La tabella ISTAT deve contenere per un dato giorno (DATA), in due campi testo ISTAT_IN e ISTAT_OUT, la lista delle stringhe DATIxISTAT degli arrivi e delle partenze.

Tra le tabelle INOUT <---> ISTAT ho impostato questa relazione:
INOUT::PREN_IN <= ISTAT::DATA
INOUT::PREN_OUT => ISTAT::DATA

In questo modo, nella tabella ISTAT, riesco a visualizzare:
- il un primo portale, i record INOUT filtrati per ISTAT::DATA=INOUT::PREN_IN;
- il un secondo portale, i record INOUT filtrati per ISTAT::DATA=INOUT::PREN_OUT.
Sono esattamente i dati che dovrei estrapolare in forma di elenco nei due campi testo ISTAT_IN e ISTAT_OUT... ma non ci riesco!

Non sono riuscito ad uscirne vincitore, nonostante sia risalito fino a discussioni del 2006 e 2007:
viewtopic.php?f=3&t=2393
viewtopic.php?f=3&t=3377

Confido nel vostro aiuto.
Grazie


filemaker 16 u mac

zarate
Messaggi: 83
Iscritto il: domenica 29 agosto 2004, 2:00
Versione FileMaker: 16 Ad
Sistema operativo: 10.14

Re: ricavare elenco da portale

Messaggio da zarate » lunedì 8 aprile 2019, 13:16

finora, ho provato 3 soluzioni per risolvere il problema (vedi di seguito), ma ognuna di esse ha un limite che mi ha fatto incaponire sulla 4°... che non riesco a completare. Allora vi faccio una domanda secca (e sono certo che la risposta mi farà vergognare...):
si può utilizzare il comando "lista (campo)" in un campo calcolato, facendo in modo che vengano elencati solo i record relazionati che rispondono ad uno specifico criterio? - qualcosa tipo: lista (campo) dei solo record per cui è vero INOUT::PREN_IN = ISTAT::DATA? o questo lo posso ottenere solo con le relazioni?
grazie

le mie tre soluzioni elaborate finora sono:
1. con due semplici campi calcolati "lista" basati su due e non una relazione.
imposto:
relazione 1 --> INOUT::PREN_IN = ISTAT::DATA
relazione 2 --> INOUT::PREN_OUT = ISTAT::DATA
posso poi ricavarmi la lista dei record correlati per ciascuna relazione ed ottengo le due liste delle stringhe degli ingressi e delle uscite.
LIMITE: a questo punto poi, dovrei risolvere solo come aggregare i dati presi da relazioni diverse, ma si fa...

2. con una tabella intermedia "PRESENZE"
popolata, via script, da un record per ogni giorno di presenza contrassegnata da un'etichetta "IN", "OUT" e "IN CORSO".
dalla relazione --> PRESENZE::DATA = ISTAT::DATA
mi conto e mi elenco le stringhe degli ingressi e delle uscite
LIMITE: sono costretto a fare una marea di relazioni

3. con uno script mi estraggo le righe del portale filtrato
qualcosa del genere... (attualmente è la soluzione attiva)
vai all'Oggetto [Nome oggetto: "ISTAT:IN"]
vai alla riga del portale [Seleziona: Attivata; Primo]
Imposta variabile [$NUM_RIP ; Valore: 1]
Loop
Imposta variabile [ $ISTAT_stringa[$NUM_RIP]; Valore: INOUT::I_stringa_totale]
Imposta variabile [$NUM_RIP ; Valore: $NUM_RIP+1]
vai alla riga del portale [Selezione: Attivata; Successivo; Esci dopo l'ultimo: Attivata]
End Loop
Imposta variabile [$MAX_RIP ; Valore: $NUM_RIP-1]
Imposta campo [ISTAT::elenco_stringhe; $ISTAT_stringa[1] & ¶ & $ISTAT_stringa[2] & ¶ & $ISTAT_stringa[n]]

Rispondi