Tabelle di Look Up

Top  Previous  Next

I campi di LookUp vincolano l'utilizzatore a scegliere da una lista di valori predefinita , tabelle di LookUp contenenti almeno due campi (Codice, Descrizione), evitando cosi eventuali errori o ripetizioni nella tabella e mantenendo l'univocità del dato.

 

Attivando il check, il campo selezionato sarà un "Campo a scelta fissa", cioè si potranno inserire solo determinati valori:

 

 

 

 

CampoLookUp1MDBManager

LookUp: Apre il box costruttore di query per i campi di LookUp

 

Modifica valore di: esegue un 'filtro' sulla tabella di lookUp in base al valore di un qualsiasi campo della tabella dati:

Esempio:

Tabella di LookUp : $Vie (CodeVia, DescVia, Comune);

Tabella dati :Via (CodeCom, NomeVia ecc.)

 

In base alla relazione (uguaglianza) esistente tra il campo 'Comune' (tabella di LookUp) e il campo 'CodeCom' (tabella dati), viene eseguito un filtro sui record della tabella di LookUp.

 

SELECT [CodeVie] AS CODICE, [DescVia] AS DESCRIZIONE FROM [$Vie] where [Comune] = [*CodCom]

 

(l'asterisco * significa di considerare solo i record con valori uguali nella tabella di Lookup)

 

Non è necessario che il primo carattere del nome delle tabelle di LookUp sia sempre $, infatti il check 'Visualizza tutte le tabelle'  consente di utilizzare qualsiasi tabelle del database compatibilmente con il tipo di dati contenuti. Selezionando l'opzione Campo LookUp, saranno rese attive anche le caselle seguenti, in cui è possibile scegliere la tabella di LookUp, il campo chiave e la descrizione.

 

TabellaLookUp1MDBManager

 

 

Se è già stata creata, è sufficiente sceglierla tra le esistenti, altrimenti cliccare il pulsante:

 

Nuova tabella di lookup. In questo caso non è necessario anteporre il carattere $ al nome della tabella, perché sarà aggiunto automaticamente, premendo poi sul pulsante

 

Modifica tabella è possibile indicare le descrizioni dei valori o modificare quelli esistenti. Quest'operazione è possibile anche durante l'inserimento dei dati.

 

 

TabellaLookUp2MDBManager

 

Il nome della tabella viene composto di default in questo modo: "$_'Nome della classe'_'Nome del campo'" (non è comunque obbligatorio).

 

Nome Codice, Tipo di campo e Nome Descrizione vengono attribuiti automaticamente in base ai valori del campo di Look Up.

 

Si possono invece scegliere il Tipo di campo e la Dimensione del campo Descrizione

 

 

Disabilitazione della modifica di un campo

 

E' possibile disabilitare la modifica del valore di un campo in base al valore letto in un campo di lookUp della stessa tabella dati.

 

Procedura

 

1. Nella tabella di lookUp utilizzata per il controllo aggiungere un campo di tipo memo con nome 'DISABLED_FIELDS'.

 

 

2. Il nuovo campo creato dovrà contenere una espressione XML che disabiliti i gruppi/campi desiderati. Dato che una teballa di lookup può essere utilizzata da più classi, è necessario anche indicare il codice (CodificaElemento) della classe a cui applicare la disabilitazione dei campi.

La sintassi XML è la seguente:

 

<Disabled>

   <Class Id="<CodificaElemento>">

       <Group Name="<Nome gruppo>" />

       <Group Name="<Nome gruppo>" />

       <Field Name="<Nome campo>" />

       <Field Name="<Nome campo>" />

   </Class>

   <Class Id="<CodificaElemento>">

       …

   </Class>

   …

</Disabled>

 

 

3. Per attivare questa funzionalità si dovrà modificare l'espressione del campo di lookup.Nella sintassi modificare :

 

 SELECT [CODICE] AS CODICE,

       [DESCRIZIONE] AS DESCRIZIONE

      FROM [<Nome tabella di lookup>]

 

con la stringa:

 

 SELECT [CODICE] AS CODICE,

  [DESCRIZIONE] AS DESCRIZIONE,

[DISABLED_FIELDS] AS DISABLED_FIELDS

FROM [<Nome tabella di lookup>]

 

 

Esempio:

 

Tabella di LookUp:

 

DisabledField1MDBManager

 

Il campo DISABLED_FIELDS  dovrà contenere una espressione XML che disabiliti i gruppi/campi desiderati. Dato che una teballa di lookup può essere utilizzata da più classi, è necessario anche indicare il codice (CodificaElemento) della classe a cui applicare la disabilitazione dei campi.

 

Tabella dati:

 

DisabledField2MDBManager

In questa tabella dati verrà disabilitata la poosibilità di modifica  per il campo 'Field2' per i quali i valori del campo 'Field1' è 01.

 

La modifica è visibile nella FlyDBView dove il campo disabilitato può essere evidenziato anche mediante un colore (Pulsante Opzioni PulOpzionismall - toolbar MDB-GENERALE)