Для разовой проверки достаточно:
1. Все три поля установить как имя записи библиотеки.
2. Включить проверку уникальных для имени записи.
Эрнст писал об этом выше.
Так как использовать JS и расчетные поля для контроля уникальности записей нельзя, то для постоянного использования необходимо дополнительное текстовое поле и триггеры.
Шаблон библиотеки с примером в каталоге шаблонов:
https://mementodb.com/t/6735866158645248Шаблон содержит тестовые записи.
Поле "Étiquette" строка из значений полей: "NOM", "PRENOM", "NOTE", "SEXE". Значения в нижнем регистре и без концевых пробелов.
Строка создаётся триггерами или скриптом меню массовых действий.
По этому полю должна быть включена стандартная проверка уникальных.
Поле "Note" для случаев обхода встроенной проверки на уникальность полей.
Кроме того, можно добавить SQL-пресет "Non unique" для фильтрации всех неуникальные записей:
SELECT *
FROM "doublons_tag"
WHERE "Étiquette" IN (
SELECT "Étiquette"
FROM "doublons_tag"
GROUP BY "Étiquette"
HAVING COUNT("Étiquette") > 1
)
AND removed = 0
ORDER BY "NOM"
Этот пресет в отличии от стандартного инструмента "Показать" выполняет действие фильтра сразу для всех неуникальных записей.
Пресет нужно добавить вручную, так как с шаблоном его передать нельзя. Запрос SQL дополнительно записан на вкладке ЗАМЕТКИ шаблона. Его можно
скопировать оттуда.
Алгоритм:
1. Установить библиотеку.
2. При открытии библиотеки автоматически добавятся тестовые записи.
3. Встроенный инструмент контроля сообщит о наличии не уникальных записей.
4. При желании и возможности установить SQL-пресет.
5. Обновить или очистить поле "Étiquette" можно с помощью скриптов массовых действий.