Jenkins, and it took a while to locate the duplication. It turns out the 1,000 random names with which I seeded the base included both John A. If you’re converting an existing base that contains duplicates, though, it’s a slightly more complicated process. Since you know the most recently entered name is the one duplicated, it’s relatively easy to find the earlier matching record. If the numbers differ, it means ARRAYUNIQUE() removed at least one duplicate. It then compares COUNTA(Uniques) with a Count field for the linked records. The routine works by creating a Rollup of ‘MatchName’ using the ARRAYUNIQUE() aggregation formula. Public’ should both remain on the list, tick the ‘DupeOK’ checkbox this will append ‘1’ RECORD_ID() to ‘MatchName’ and clear the ‘Dupe’ flag. I say ‘might’ because it’s up to you to vet the two similar entries – and because in this implementation I match (GivenName&Surname), ignoring middle initials. After a brief moment of cogitation (a second or two on the demo base, which contains 995 entries), one of two things will happen: One, nothing, meaning the contact you just entered is not a duplicate, or two, a flag will appear in the ‘Dupe?’ column, meaning the entry you just entered might be a duplicate. As this table contains but a single row, all you need do is select the plus sign (’+’) in the linked record field and, when the pop-up window providing drill-down access to ‘DeDupe’ records opens, select the first (and only) record. The only change to your workflow required is that when entering a new contact record, you’ll need to link it to the ‘DeDupe’ table. You can find a demo base with example code here. While it may not be an optimal solution, something similar could easily be added to your contacts base to ensure each new name doesn’t already exist. I’ve been playing around some with embedding data-validation code inside tables although this approach does not truly enforce good data, it can at least flag invalid data at the time of entry, allowing the user to correct the mistake at the time it was made, rather than be forced to locate it later.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |