Filtrare valori gia inseriti del portale Risolto!

Utilizzo dei portali in un database FileMaker

Moderatore: Moderatori

Cicos
Messaggi: 7
Iscritto il: lunedì 26 febbraio 2018, 16:12
Versione FileMaker: 15
Sistema operativo: OS X El Capitan

Filtrare valori gia inseriti del portale Risolto!

Messaggio da Cicos » lunedì 26 febbraio 2018, 18:37

Salve a tutti, lo scenario è questo:
tabella utenti
tabella progetti
tabella associativa utenti ai progetti

nel formato dei progetti c'è un popover nel quale tramite un portale scelgo gli utenti da aggiungere al progetto.

Come faccio a filtrare gli utenti nel popover che sono gia stati aggiunti a quel progetto? in modo da non poterli inserire più volte all'interno del medesimo progetto.

Grazie in anticipo.
Ultima modifica di Cicos il domenica 4 marzo 2018, 9:21, modificato 3 volte in totale.

MaxMzz
Messaggi: 121
Iscritto il: lunedì 25 settembre 2017, 14:55
Versione FileMaker: 14-16
Sistema operativo: Win 7 - Win 10- Mac

Re: Filtrare valori gia inseriti del portale

Messaggio da MaxMzz » martedì 27 febbraio 2018, 8:33

Buongiorno,
io userei una relazione, con più coppie(probabilmente due coppie) di corrispondenza e operatori che escludano gli utenti già inseriti in quel progetto.

Cicos
Messaggi: 7
Iscritto il: lunedì 26 febbraio 2018, 16:12
Versione FileMaker: 15
Sistema operativo: OS X El Capitan

Re: Filtrare valori gia inseriti del portale

Messaggio da Cicos » martedì 27 febbraio 2018, 10:46

Ci avevo pensato ma la ricorrenza del popover è gia relazionata alla tabella del progetto, se volessi relazionarla anche alla tabella associativa utenti progetti nel grafico delle relazioni mi creerebbe una copia della tabella... ancora capisco il motivo.... premesso che sono nuovo di filemaker. Mi potresti spiegare cosa intendevi più dettagliatamente? grazie! ;)

MaxMzz
Messaggi: 121
Iscritto il: lunedì 25 settembre 2017, 14:55
Versione FileMaker: 14-16
Sistema operativo: Win 7 - Win 10- Mac

Re: Filtrare valori gia inseriti del portale

Messaggio da MaxMzz » martedì 27 febbraio 2018, 14:58

ciao,
non afferro a cosa serve la tabella associativa.
Se non ho capito male, in soldoni, vuoi aggiungere (ed eventualmente togliere) utenti ad un progetto.
Quindi lavori sulla tabella progetto , pescando gli utenti dalla tabella a loro dedicata e quel punto l'esigenza è di avere un elenco di utenti "disponibili", cioè non già presenti nel progetto, giusto?
In seconda battuta, se togli un utente dal progetto, vuoi che quell'utente ritorni disponibile nell'elenco , giusto?
Quindi, la tabella associativa , cos'è?

Cicos
Messaggi: 7
Iscritto il: lunedì 26 febbraio 2018, 16:12
Versione FileMaker: 15
Sistema operativo: OS X El Capitan

Re: Filtrare valori gia inseriti del portale

Messaggio da Cicos » martedì 27 febbraio 2018, 16:37

Ciao, grazie per la risposta!
la tabella associativa la uso per creare un'associazione molti a molti tra utenti e progetti. In pratica ogni riga della tabella associativa contiene la chiave esterna dell'utente e la chiave esterna del progetto al quale fa parte. Per il resto hai capito bene, se tolgo un utente poi torna disponibile.
Allego un'immagine che chiarisce visivamente la cosa.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

MaxMzz
Messaggi: 121
Iscritto il: lunedì 25 settembre 2017, 14:55
Versione FileMaker: 14-16
Sistema operativo: Win 7 - Win 10- Mac

Re: Filtrare valori gia inseriti del portale

Messaggio da MaxMzz » mercoledì 28 febbraio 2018, 11:40

è da un paio di giorni che il tuo quesito mi gira in testa , ma confesso di non aver ancora trovato il bandolo della matassa.
in ogni caso, è una cosa interessantissima.
se risolvi per altre vie, per cortesia, lo condivideresti?

Cicos
Messaggi: 7
Iscritto il: lunedì 26 febbraio 2018, 16:12
Versione FileMaker: 15
Sistema operativo: OS X El Capitan

Re: Filtrare valori gia inseriti del portale

Messaggio da Cicos » mercoledì 28 febbraio 2018, 14:53

Certo che lo condividerei ;)

Comunque una mezza idea mi era venuta però non riesco a realizzarla perchè ancora conosco bene il linguaggio di scripting di filemaker. Il concetto è questo (che poi è quello che si farebbe con un qualunque altro linguaggio di programmazione e sql): filtro il portale del popover, nel calcolo escludo gli id che sono nella lista generata tramite sql facendo una select degli id del progetto corrente. Detto così non so se si capisce comunque l'sql sarebbe questo:

Codice: Seleziona tutto

SELECT utente FROM ass_utenti_progetti WHERE progetto=IDPROGETTOCORRENTE
Da questa query ottengo la lista di id da escludere. Il problema è che con il linguaggio di scripting non saprei come fare (e se si può fare) a verificare se un campo fa parte di una lista e di conseguenza escluderlo.

MaxMzz
Messaggi: 121
Iscritto il: lunedì 25 settembre 2017, 14:55
Versione FileMaker: 14-16
Sistema operativo: Win 7 - Win 10- Mac

Re: Filtrare valori gia inseriti del portale

Messaggio da MaxMzz » mercoledì 28 febbraio 2018, 15:35

ah ecco......se allora possiamo prendere in considerazione una funzione dedicata e scriptata....cambia tutto!
Come prima cosa farei un nuovo campo "utenti assegnati al progetto" (testo, nella tabella "associativa") che metto in relazione al campo nome utente nella tabella utenti con l'operatore "diverso da".
Quindi, creo un altro campo "provvisorio" (che servirà in via appunto provvisoria ad acquisire il nuovo utente da assegnare al progetto) al quale applicherò la tendina che ricavo dalla relazione di cui sopra e quindi gli assegno un trigger in uscita. Lo script che il trigger eseguirà non farà altro che aggiungere il nuovo utente al campo "utenti assegnati al progetto"
Istruzioni dello script :
impostacampo (utentiassegnati al progetto ; if(utenti assegnati al progetto="";provvisorio;utenti assegnati al progetto & ritorno a capo & provvisorio)
impostacampo (provvisorio;"")

ovvero aggiungo il nuovo utente all'elenco di utenti legati al progetto, con un ritorno a capo, e quindi vuoto il campo provvisorio.
la tendina così mi proporrà solo gli utenti diversi da quelli già in elenco.
per ripristinarlo nella proposta della tendina, mi basterà cancellarlo dall'elenco.
Il tutto dovrebbe funzionare in quanto FM (come tutti i database relazionali) vede i valori in un campo se separati dal ritorno a capo come singoli.
Diventa quindi una relazione molti a molti.

Se non funziona , io non ti conosco e non ti ho mai scritto niente :lol: :lol: :lol: :lol: :lol: :lol:

Cicos
Messaggi: 7
Iscritto il: lunedì 26 febbraio 2018, 16:12
Versione FileMaker: 15
Sistema operativo: OS X El Capitan

Re: Filtrare valori gia inseriti del portale

Messaggio da Cicos » mercoledì 28 febbraio 2018, 15:56

Anche se non ho capito bene magari potrebbe anche funzionare, il problema è che ho impostato il progetto e le maschere diversamente. Ti allego un po di foto.

Per avere il popover nel formato del progetto ho dovuto creare un campo di servizio vuoto che serve solo per collegare le tabelle. Visto che gli utenti del popover (ovvero quelli che possono essere aggiunti al progetto) sono gia relazionati con la tabella progetti, non posso relazionarla anche con la tabella associativa. Poi da come ho capito tu vorresti fare nella tabella associativa una sola riga per ogni progetto dove c'è un campo utenti che contiene più valori giusto?
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

MaxMzz
Messaggi: 121
Iscritto il: lunedì 25 settembre 2017, 14:55
Versione FileMaker: 14-16
Sistema operativo: Win 7 - Win 10- Mac

Re: Filtrare valori gia inseriti del portale

Messaggio da MaxMzz » mercoledì 28 febbraio 2018, 16:21

si, giusto, un campo che contiene più valori.
ma se vuoi dividerli in più record, il concetto non cambia. anzichè impostarli in un unico campo, li immetti in più record.

comunque, non ho capito cosa intendi per popover.

Rispondi