miki63 ha scritto:QUINDI QUAL'E' LA CORRETTA RELAZIONE PER FILTRARE???
La relazione da creare è tra la prima e la terza tabella, cioè la lista valori andrà a prendere tutti i valori della terza tabella diversi da quelli definiti, con un calcolo, nella prima tabella.
Non ti preoccupare che adesso mi spiegherò meglio e, comunque, ho il file pronto !
Intanto io ho ricondotto il tuo sistema a tre tabelle a quello che normalmente si usa per la fatturazione.
Quindi:
una tabella Fatture, con IdFattura seriale autocalcolato
una tabella RigheFattura, con IdFattura ed IdProdotto
una tabella Prodotti, con IdProdotto e Descrizione
Poichè tu vuoi una lista valori con i Prodotti ma, per ogni fattura, non vuoi che siano visibili i prodotti già presenti in una qualsiasi riga della fattura stessa, avremo bisogno di utilizzare come chiave un campo calcolato.
Questo campo ( Fatture::key ) dovrà far parte della tabella Fatture ( la tua tabella MASTER ) ed avrà questo calcolo:
Lista ( RigheFattura::IdProdotto ) & "¶ " ( per la tua situazione: Lista ( Secondaria::COD_F ) & "¶ "
Duplichiamo la tabella Prodotti ( TERZA ) e colleghiamola con la prima tabella ( con il simbolo : ≠ ) tramite i campi:
Prodotti2::IdProdotto ≠ Fatture::key ( per te: TERZA2::IdProdotto ≠ MASTER::key )
La lista valori dovrà prendere i valori di Prodotti2 ( TERZA2 ), usando solo i correlati partendo da Fattura ( MASTER )
Purtroppo NON abbiamo finito...nel senso che quel calcolo sarà NON MEMORIZZATO e la relazione darà risultati imprevedibili.
A questo punto dovremo trasformare in pulsante il campo del portale RigheFattura::IdProdotto ( SECONDARIA::COD_F ) ed abbinargli questo script:
Codice: Seleziona tutto
Imposta variabile [ $row; Valore: Get ( NumeroRigaPortale) ]
Salva record/richieste [ ]
Aggiorna finestra [ Elimina i risultati dalla cache ]
Vai alla riga del portale [ Senza finestra; $row ]
Vai al campo [ RigheFattura::IdProdotto ] // per te: [ SECONDARIA::COD_F ]
Se avrai seguito tutto fin qui, la lista valori si comporterà come volevi
