Ricerca di record con valori uguali in campi diversi
È possibile cercare record in cui campi diversi hanno lo stesso valore. Ad esempio, si supponga di voler trovare tutti gli ordini per i quali l'importo pagato è uguale all'importo fatturato. Utilizzare un campo Calcolo o un ciclo in uno script per confrontare i valori dei due campi in ciascun record.
Per trovare i record con valori uguali utilizzando un campo Calcolo:
1. Nella tabella contenente i campi da confrontare, creare un campo Calcolo con risultato di tipo Numero. Vedere
Definizione di campi Calcolo.
Ad esempio, creare un campo Calcolo ConfrontaCampi.
2. Nella finestra di dialogo Specifica calcolo, inserire un'espressione che metta a confronto i due campi.
Ad esempio, l'espressione CampoA = CampoB imposta il campo ConfrontaCampi su 1 solo se entrambi i campi hanno lo stesso valore; in caso contrario, il valore di ConfrontaCampi è 0.
3. Aggiungere il campo Calcolo (ConfrontaCampi) al formato.
4. Avviare una richiesta di ricerca, digitare 1 nel campo Calcolo (ConfrontaCampi), quindi fare clic su Esegui la ricerca.
Il gruppo trovato è composto da tutti i record per i quali il campo Calcolo ConfrontaCampi è uguale a 1, ovvero tutti i record per i quali CampoA ha lo stesso valore di CampoB.
Per trovare i record con valori uguali utilizzando uno script:
1. Creare uno script.
2. Aggiungere le seguenti istruzioni allo script, dove Tabella::CampoA e Tabella::CampoB sono i due campi da confrontare in un determinato formato (in questo caso, "Il mio formato").
Vai al formato ["Il mio formato" (Tabella)]
Mostra tutti i record
Vai a Record/Richiesta/Pagina [Primo]
Loop
If [Tabella::CampoA = Tabella::CampoB]
Vai a Record/Richiesta/Pagina [Successivo; Esci dopo l'ultimo: On ]
Else
Ometti il record
End If
End Loop
3. Eseguire lo script.
Lo script mostra tutti i record e va al primo record. Quindi, per ogni record, confronta i due campi e omette i record in cui CampoA non è uguale a CampoB.
Nota Invece di utilizzare un segno uguale nel campo Calcolo, o nell'istruzione di script If riportata sopra, è possibile utilizzare un qualsiasi operatore di confronto o logico per confrontare i campi. Ad esempio, utilizzare
Tabella::CampoA > Tabella::CampoB per trovare i record in cui CampoA è maggiore di CampoB. Vedere
Operatori di confronto e
Operatori logici.