Dubbele waarden zoeken met behulp van een interne relatie

Deze procedure gebruikt een interne relatie en een berekeningsveld dat naar de relatie verwijst, om alle dubbele records (behalve het eerste resultaat) te identificeren, en wel overeenkomstig met de in de relatie gedefinieerde sorteervolgorde. Zodra dit systeem is ingesteld, worden dubbele records geïdentificeerd wanneer ze worden gemaakt.

Zo vindt u dubbele records, met uitzondering van de eerste vermelding:

  1. Als u van plan bent de gevonden dubbele records te verwijderen, maakt u eerst een reservekopie van het bestand.

    Raadpleeg Bestanden opslaan en kopiëren.

  2. Kies het veld dat u op dubbele waarden wilt controleren.

    Als u wilt controleren of meerdere velden samen dubbele waarden hebben, kunt u een berekeningveld maken met een berekening (retourneert een tekstresultaat) die gegevens uit meerdere velden combineert en het berekeningveld op duplicaten controleert. Bijvoorbeeld Voornaam & Achternaam & Telefoonnummer. Gebruik geen herhalend veld.

  3. Sleep in de relatiegrafiek het door u gekozen veld vanuit een tabelvermelding terug naar zichzelf om een interne relatie te definiëren.

    Uw gekozen veld wordt het vergelijkingsveld in beide tabelvermeldingen in de interne relatie. Raadpleeg Relaties maken en wijzigen.

  4. In het dialoogvenster Relatie toevoegen noemt u de nieuwe tabelvermelding Same.

    FileMaker Pro creëert een tweede vermelding van de tabel waarop u de interne relatie baseert.

  5. Twee velden definiëren:

  6. Veld

    Definitie

    Teller

    Een tekstveld met een automatisch ingevoerd serienummer (selecteer Serienummer en accepteer de standaardwaarden voor Volgende en Verhogen met).

    Het doel van dit veld is om aan elk record een waarde toe te kennen die uniek is. Als uw database al zo'n veld heeft – bijvoorbeeld het standaard PrimaireSleutel-veld – kunt u dat veld in plaats van het Tellerveld gebruiken bij de berekening voor het veld 'Op dubbele records controleren' daaronder, en kunt u stap 7 overslaan.

    Dubbele records controleren

    Een berekeningsveld met een tekstresultaat, met de formule:

    Kopiëren
    If (Teller = Zelfde::Teller ; 'Uniek' ; 'Dubbele record')

    Deze berekening maakt gebruik van de interne relatie om de Tellerwaarde in de huidige tabelvermelding te vergelijken met de waarde in de gerelateerde tabelvermelding met de naam Zelfde. Wanneer het door u gekozen veld (het vergelijkingsveld van de relatie) hetzelfde is als dat in de gerelateerde tabelvermelding en ook de waarden van het Tellerveld hetzelfde zijn, dan zijn de huidige en verwante records hetzelfde record – het huidige record wordt daarom gemarkeerd als Uniek. Als de waarden van het Tellerveld niet hetzelfde zijn, dan zijn de huidige en gerelateerde records verschillende records waarvan het gekozen veld dezelfde waarde heeft – het huidige record wordt daarom gemarkeerd als Dubbele record.

  7. Klik op Alles tonen in de statusbalk.

  8. Klik op het nieuwe Tellerveld, kies het menu Records > Veldinhoud vervangen en Vervangen door volgnummers. Accepteer ook hier de standaardwaarden, selecteer Volgnummer in Invoeropties bijwerken en klik op Vervangen.

    Hierdoor wordt er een volgnummer toegekend aan alle bestaande records in uw database. Volgnummers worden automatisch in nieuwe records ingevoerd.

  9. Voer een zoekopdracht naar Dubbele records uit in het veld 'Op dubbele records controleren'.

    Het eerste record in een reeks dubbele records heeft nu de waarde Uniek in het veld 'Op dubbele records controleren', en alle verdere records binnen dezelfde reeks worden gemarkeerd als Dubbele records.

Belangrijk  Records zonder waarde in het vergelijkingsveld worden als 'Dubbele records' gemarkeerd. Eenmaal ingesteld zoals hierboven herkent dit systeem automatisch dubbele records wanneer deze worden aangemaakt.