Filtra Blanks quando il collegamento è di Refrecid
-
21-12-2019 - |
Domanda
Ho creato una nuova tabella QueryCodes
e ha utilizzato la nuova funzionalità della chiave surrogata nel 2012.
Una relazione chiave esterna è stata aggiunta al SalesTable
utilizzando un RefRecId
secondo le nuove linee guida chiave del tasto estero RecID
. Tutto ciò funziona alla grande e ora posso selezionare un QueryCode
sul salestabile da un campo descrittivo piuttosto che da un ascensore pieno di RecId
s.
Comunque - filtraggio! In qualsiasi griglia che mostra tutti gli ordini di vendita (SalesTable
) non riesco a filtrare per i codici di query "vuoti", ovvero i record di SalesTable
senza un codice query collegato. Posso filtrare la tabella di vendita perfettamente utilizzando il campo descrittivo da querycodes (per il record è chiamato "Nome").
Ad esempio, se filtro da QueryCode
"Q_1" su SalesTable
vedo tutti gli ordini di vendita "Q_1".
Durante il filtro di "" (vuoto) Vedo tutti gli ordini, sia con che senza un QueryCode
popolato.
È una limitazione nella nuova funzionalità RefRecId
o c'è qualcosa che devo cambiare per essere in grado di filtrare un campo di riferimento del tasto estero vuoto?
modifica;
La pagina dell'elenco dei clienti può essere utilizzato per vedere un esempio standard di questo problema, personalizzare la griglia per aggiungere "responsabile del dipendente" (il secondo nell'elenco, il primo è cancellato). Questo è referenziato da REC ID e filtrando il campo in bianco non funziona. Il filtraggio del nome del dipendente o non è vuoto (! "").
Soluzione
Okay, sono del parere che questo sia un bug.Comunque ho trovato una soluzione parziale.
Nell'esempio sopra un filtro per un nome responsabile del dipendente specifico (compresi i caratteri jolly) funzionerà, tuttavia un filtro non filtrante o un filtro vuoto non lo farà.
Per filtrare per gli spazi vuoti digitare quanto segue nel campo del filtro da interrogare per una registrazione zero direttamente;
(CustTable.MainContactWorker == 0)
.
o non vuoti;
(CustTable.MainContactWorker != 0)
.
Questo non risolve il problema in cui il filtro per qualcosa come !Anthony*
non include gli spazi vuoti, ma consentirà un elenco di spazi vuoti.