Ricerca di valori duplicati utilizzando una relazione di auto collegamento

Questa procedura utilizza una relazione di auto collegamento e un campo Calcolo che fa riferimento alla relazione per identificare tutti i record duplicati eccetto la prima ricorrenza, a seconda del criterio di ordinamento definito nella relazione. Una volta configurato questo sistema, i record duplicati verranno identificati al momento della creazione.

Per trovare record duplicati eccetto la prima ricorrenza:

  1. Se si pensa di eliminare i record duplicati trovati, creare una copia di backup del file.

    Vedere Salvataggio e copia dei file.

  2. Selezionare il campo per cui si desidera verificare la presenza di valori duplicati.

    Per controllare se all'interno di più campi presi insieme sono presenti valori duplicati, è possibile creare un campo Calcolo con un calcolo (che restituisce un risultato di testo) che combina i dati di diversi campi e verificare la presenza di duplicati all'interno del campo Calcolo. Ad esempio, Nome & Cognome & Numero di telefono. Non utilizzare un campo multiplo.

  3. Nel grafico delle relazioni, trascinare il campo selezionato da una ricorrenza di tabella su se stesso per definire una relazione di auto collegamento.

    Il campo selezionato diventa il campo di confronto in entrambe le ricorrenze di tabella nella relazione di auto collegamento. Vedere Creazione e modifica delle relazioni.

  4. Nella finestra di dialogo Aggiungi relazione, chiamare la nuova ricorrenza di tabella Uguale.

    FileMaker Pro crea una seconda ricorrenza della tabella sulla quale si basa la relazione di auto collegamento.

  5. Definire due campi:

  6. Campo

    Definizione

    Conteggio

    Un campo Testo con un numero di serie immesso automaticamente (selezionare Numero di serie e accettare i valori predefiniti per Valore succ. e Incremento).

    Lo scopo di questo campo è assegnare un valore a ogni record unico. Se il database ha già questo campo, ad esempio il campo ChiavePrimaria predefinito, questo può essere utilizzato al posto del campo Conteggio nel calcolo del campo Controlla duplicati di seguito, ed è possibile saltare il passo 7.

    Controlla duplicati

    Un campo Calcolo che restituisce come risultato un testo, con la formula:

    Copia
    If (Conteggio = Uguale::Conteggio; "Unico"; "Duplicato")

    Questo calcolo utilizza la relazione di auto collegamento per confrontare il valore di Conteggio nella ricorrenza di tabella corrente con il valore nella ricorrenza di tabella correlata di nome Uguale. Se il campo scelto (il campo di confronto della relazione) è uguale a quello nella ricorrenza di tabella correlata e i valori del campo Conteggio sono identici, i record corrente e correlato sono uguali; pertanto il record corrente viene contrassegnato come Unico. Se i valori del campo Conteggio non sono uguali, i record corrente e correlato sono diversi con campo selezionato dello stesso valore; pertanto il record corrente viene contrassegnato come Duplicato.

  7. Fare clic su Mostra tutto nella barra degli strumenti.

  8. Fare clic sul nuovo campo Conteggio, selezionare il menu Record > Sostituisci contenuto campo e Sostituisci con numeri di serie. Di nuovo, accettare i valori predefiniti, selezionare Aggiornare N. serie in Opzioni di immissione e fare clic su Sostituisci.

    In questo modo, verrà assegnato un numero di serie a tutti i record del database. I numeri di serie verranno automaticamente inseriti nei nuovi record.

  9. Eseguire una ricerca di Duplicato nel campo Controlla duplicati.

    Il primo record di ciascuna serie di duplicati contiene ora il valore Unico nel campo Controlla duplicati e tutti i record duplicati della stessa serie sono contrassegnati come Duplicato.

Importante  I record senza alcun valore nel campo di confronto verranno contrassegnati come duplicati. Dopo aver impostato il sistema con la procedura descritta, i record duplicati verranno identificati automaticamente nel momento in cui vengono creati.