powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как устроить правильный ключ?
16 сообщений из 16, страница 1 из 1
как устроить правильный ключ?
    #32749688
Matilda Cherstin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Справочник клиентов ведут 10 менеджеров. Как можно реально обеспечить ввод одного клиента не более чем один раз? Как не допустить «ООО Днепр» вместе с «ТОВ Дніпро»? То есть, вопрос в использовании внешних ключей и в том, откуда их брать.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32749692
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
инн кпп ?
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32749732
YBW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
YBW
Гость
ИНН - очень удобно, особенно когда вариантов написания названия 2-3
(по-Русски, по-Украински и по-Английски например)
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32750251
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
АлексейКинн кпп ?
этт н ккм йзкк?
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32750697
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идентификационный Номер Налогоплательщика
Код Причины Постановки (предприятия на учет)

такие есть нынче абривеатуры
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32751082
RedBlin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ключ - счетчик.
Разночтения средствами Access не решишь. Решить можно только организационными мерами. Недавно в одной базе выделял синонимы поставщиков из СНГ и ДЗ. И что до 50 синонимов любыми буквами.
Так что организуя справочник учтите, что в любой фирме есть сленг в наименовании поставщиков и клиентов. Это нужно использовать. А потому у них (клиенов и поставщиков) должно быть в таблице поле: КраткоеНаименование. И оно должно учитывать сленг, должно быть на русском языке, не должно иметь кавычек, иметь не более 10 букв. Если есть несколько слов, то писать без пробела и второе слово с большой буквы. Т.е. краткое название должно быть как удар хлыста и у всех на слуху.
Второе, если на фирме есть 10 манагеров, то должен быть и юридический (или контрактный отдел), который ведет договора. Так и отдать туда ведение справочников в одни руки. Юзеры на это охотно идут, особенно после того как покажешь им клиентов: Днепр и Дгепр. Ошибаются во второй букве: особенно если это а и о.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32752082
Matilda Cherstin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вся фишка в том, что менагеры вводят клиента в базу по факту первого общения с ним, а не по факту заключения договора. фирма торгует хлебопекарным оборудованием, и клиент созревает по году и более, а менагерам надо отчитываться о проведенных с ними акциях. Спасибо за идею "краткого наименования", мы его прозвали "псевдоним", но, может, Господа, подскажете еще какие-либо идеи?
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32752300
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реально используется псевдоним длиной до 20 знаков, из заглавных русских букв и цифр без пробелов, возможно со знаком "-", буковки обозначающие форму собственности пришутся при необходимости в конце

Имеется специальная процедура слияния контагентов на случай выявления дублей
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32752315
Matilda Cherstin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
буду признательна за процедуру слияния контагентов на случай выявления дублей!
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32752363
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
слияние "дублей":

1) первичным ключом является краткое наименование
2) имеется таблица в которой перечислены имена таблиц и полей, в которых краткое наименование является foreign ключом
3) по всем таблицам и полям помянутым в п 2 производится изменение краткого наименования
4) удаляется "лишняя" запись в таблице контрагентов

п 3 и 4 производятся в одной транзакции.

если клюс суррогатный(счётчик), всё можно сделать аналогично
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32753024
RedBlin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Однажды на форуме наткнулся на это: /topic/66519&hl=
Это не совсем то, но много и о том. Да и эта проблема у Вас встретится, если клиенты выбираются из поля со списком.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32753035
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо действтельно делать поле транслитерации
в этом случае и перед вводом клиента запускать процедуру оценки созвучности уже имеющихся фраз. сам делаю примерно так.
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32754624
Stix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейКинн кпп ?
Хе ИНН еще ничего не дает, у железных дорог все филиалы допустим под одним ИНН
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32755475
Matilda Cherstin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, ИНН одинаковый у филиалов, его не применишь к нерезидентам, и главное - он катит только для 100% "белой" бухгалтерии. А если бухгалтерия, точнее учетная политика компании - реальная, и/или если в базу вносятся не толлько клиенты, заключившие договора, но также потенциальные клиенты, по факту первого общения с ними, с целью это общение продолжить - то надо что-то иное в качестве ключа использовать!
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32770649
Matilda Cherstin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ужо и на форуме о проектировании БД вопрос поставлен, а идей - всё еще маловато будет...
...
Рейтинг: 0 / 0
как устроить правильный ключ?
    #32771112
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Matilda Cherstinужо и на форуме о проектировании БД вопрос поставлен, а идей - всё еще маловато будет...

а идей радикальных быть и не может - просто из анализа ситуации.

1. Если надо вводить всех (по первому контакту) - вводите всех. (никакой констрайнт на ИНН, совпадение, созвучие не спасет, как уже выяснилось).

2. Если при этом по возможности надо не вводить дубли - пишите не КОНСТРАЙНТ, а выдавайте информативное окно при вводе о существовании _Подобного_, где юзер мог бы уйти от ввода выбором аналога. Ответственность за выбор - на пользователе.

3. Процедуру (или запрос) выборки "подобного" сделайте отдельной. По мере уточнения алгоритмов (типов сходства) будете ее дописывать (перестановки слов, букв (та же транслитерация), и т.п.), не меняя всего остального.

4. И естественно нужна процедура ручного сведения дублей - та же подмена всех вторичных ключей. Хотя есть еще и метод не удалять "дубли" (и не замещать вторичные ключи) а хранить их как "представления" (поставив в них ссылки на "главное" или "корневое" представление) некой сущности. (тут важно организовать данные без кольцевых самоссылок. Например можно запретить узлам, на которые ссылаются представления, ссылаться на кого-либо (быть может кроме себя) - т.е. разрешить глубину ссылок не более 1. Как это сделать - вопрос к хранилищу данных. Если есть триггеры - то не триггерах, если нет - придется возложить контроль логической целостности на приложение.). И в _сводных_ отчетах по клиентам возвращать не "текущие представления клиентов" по записям, а всюду подставлять "корневые" представления. (запрос на замещение id при уровне ссылок не более 1 (т.е. 0|1) написать несложно на том же IIF(). Никакой рекурсии тут не будет). При этом вы получаете возможность оставлять в документах то представление (тот набор реквизитов клиента), который был при вводе документа, не перегружая базу необходимостью хранить в самих документах данные о клиенте в том виде, в каком они были на момент создания|редактирования документа, а создавая набор защищенных от редактирования (в случае ссылающихся на него существования документов) представлений одного и того же клиента.
Тут потребуется при "сведении" ранее независимых сущностей в одну определить, кто из них будет "корнем", а кто - представлением - т.е. кому переписать вторичный ключ (то ли Null, то ли себя самое - как вам удобнее) на значение этого корня. Никаких иных правок вторичных ключей (в других таблицах) при "сведении" таких сущностей в одну, но имеющую разные представления не потребуется.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как устроить правильный ключ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]