Я полностью осознаю, что аналогичные вопросы задавались ранее на этой платформе, но ответы не обязательно соответствуют точному вопросу, поэтому я снова задаю этот вопрос.
Что я пытаюсь выполнить sh?
Я создаю базу данных генеалогического индекса имен.
Ссылка, которая должна автоматически генерироваться в столбце ссылок, должна брать первые три буквы поля фамилии (например, JOO) и добавлять к нему последовательность чисел (например, 0001), НО числовая последовательность должна зависеть от первых трех букв фамилии, а не просто увеличиваться на +1 для каждой новой записи.
Таблица состоит из следующих столбцов:
- Поле ссылки, которое должно содержать сформулированную, автоматически сгенерированную ссылку.
- Фамилия
- Имя (я)
- Et c ...
Пример того, как это должно работать:
Следующие записи (введенные в том же порядке, как показано) содержат фамилии (в поле фамилий):
- Jooste
- Jooste
- Wessels
- Potgieter
- Jooste
Их ссылки, которые должны быть сгенерированы должен выглядеть следующим образом:
- JOO0001
- WES0001
- POT0001
- JOO0003
Их ссылки, которые должны быть сгенерированы не должны выглядеть следующим образом :
- JOO0001
- JOO0002
- WES0003
- POT0004
- JOO0005
Это вызвано следующей формулой (которую я пробовал):
reference = Left(Surname, 3) & Right("000" & CStr(CInt(Nz(DMax("right(reference,4)", "relatives_tbl"), 0)) + 1), 4)
Почему я пытаюсь выполнить sh это?
Основная причина, почему мне нужен номер ссылки, чтобы сформулировано, чтобы сделать будущие ссылки легче в будущем. Таким образом, ссылочный номер будет настолько коротким, насколько это возможно, потому что вы легко можете получить до 30 000 человек в общей сложности, но очень маловероятно, чтобы более чем 9999 из одной фамилии.
Я попробовал формулу, упомянутую выше, которая не дает мне желаемый результат. Я надеюсь, что мой вопрос ясен и логичен, и я с нетерпением жду ваших решений.