Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Уникальный ключ в 2-х таблицах / 23 сообщений из 23, страница 1 из 1
13.09.2019, 14:13
    #39861542
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
Вопрос конечно идиотский....
И я сам знаю как его решить при помощи костылей всяких...
НО -
есть 2 таблицы с кодом ключом-счетчиком каждая
Можно ли сделать какими нибудь штатными методами так, что бы код-ключ был уникален для обеих таблиц? то есть запись с кодом например 121 была только в одной таблице, а в другой ее не было
Для чего это надо - долго рассказывать, костыли и обходные пути представляю.... интересуют именно штатные методы...
...
Рейтинг: 0 / 0
13.09.2019, 14:19
    #39861547
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
Serg197311,

Элементарно , в одной из таблиц устанавливаете начальное значение счётчика в максимальное отрицательное число. Соответственно все её ID будут расти от него к 0.

Но естественно это сработает только если записей в любой из таблиц не наберётся больше 2 млд, а то счётчик перейдет на чужой знак.
...
Рейтинг: 0 / 0
13.09.2019, 14:20
    #39861548
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
Serg197311,

таб1--код1(счетчик), .....
таб2 --код2(счетчик), код1(уникальный для связи с таб1 по LEFT JOIN)
...
Рейтинг: 0 / 0
13.09.2019, 14:31
    #39861564
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
Serg197311,
говоря грубо:ключ-счетчик есть служебное поле используемое Акцессом для "своих нужд" и работа с этим полем,в принципе,есть не правильно. Если возникает необходимость "тронуть" его это явное указание на не правильно спроектированную БД
Serg197311Вопрос конечно идиотский.... так что это совершенно верно
(не могу представить ситуацию когда значение этого поля=2 в одной таблице недопустимо в другой)
...
Рейтинг: 0 / 0
13.09.2019, 14:35
    #39861571
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
sdku(не могу представить ситуацию когда значение этого поля=2 в одной таблице недопустимо в другой)

Элементарно, когда в 3й таблице есть только одно поле ID (без поля с указаниет типа связи), а в нём могут храниться ID из первой или второй таблицы.
...
Рейтинг: 0 / 0
13.09.2019, 14:35
    #39861572
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
Штатный метод один - объединение таблиц в одну таблицу.
...
Рейтинг: 0 / 0
13.09.2019, 14:42
    #39861574
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
4d_monsterЭлементарно, когда в 3й таблице есть только одно поле ID (без поля с указаниет типа связи), а в нём могут храниться ID из первой или второй таблицы.Поди туда-не знаю куда,принеси то-не знаю что
...
Рейтинг: 0 / 0
13.09.2019, 14:50
    #39861584
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
sdku4d_monsterЭлементарно, когда в 3й таблице есть только одно поле ID (без поля с указаниет типа связи), а в нём могут храниться ID из первой или второй таблицы.Поди туда-не знаю куда,принеси то-не знаю что
Поскольку ID уникальный - то что принести - известно
...
Рейтинг: 0 / 0
13.09.2019, 15:40
    #39861620
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
sdku Поди туда-не знаю куда,принеси то-не знаю что
Да не надо Вам никуда ходить. Уже перед вами сходили и принесли.
...
Рейтинг: 0 / 0
13.09.2019, 15:41
    #39861621
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
4d_monster,
Спасибо!!!! проверю как будет работать
...
Рейтинг: 0 / 0
13.09.2019, 15:44
    #39861625
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
Akina,
Несомненно - самый лучший. Но неприемлемый в данной ситуации.
...
Рейтинг: 0 / 0
13.09.2019, 15:47
    #39861629
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
sdku(не могу представить ситуацию когда значение этого поля=2 в одной таблице недопустимо в другой)
Выгрузка ресурсной спецификации в 1С
Идентификация - по ключу.

Материалы - в одной таблице, ПКИ- в другой.
Объединять - соединять теплое с мягким
Костыль приделать - да легко, но неохота.
...
Рейтинг: 0 / 0
13.09.2019, 17:06
    #39861697
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
4d_monsterЭлементарно, когда в 3й таблице есть только одно поле ID (без поля с указаниет типа связи), а в нём могут храниться ID из первой или второй таблицы.

Прикольно, получается что в 3-й таблице ID это счетчик, по сути является генератором для ID первой и второй таблиц, можно добавить сюда еще одно поле типа признак таблицы принадлежности... Ну да, вроде получается: для записи строки в таблицу Х, нужно создать новую запись в 3-й таблице с признаком Х и полученное значение счетчика использовать как ID для новой записи в Х...
Ну с дао/шмао всё понятно, а вот интересно, на уровне запросов, в массовке получится?
...
Рейтинг: 0 / 0
13.09.2019, 17:30
    #39861722
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
4d_monsterПоскольку ID уникальный - то что принести - известно
только не известно откуда
Определение же таблицы в которой есть этот код окажется более "громоздким",чем использование любой доменной функции (или SELECT..) которые однозначно потребуют имя таблицы
(все это сильно напоминает доставание левого уха правой рукой через голову)
...
Рейтинг: 0 / 0
16.09.2019, 08:05
    #39862121
4d_monster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
sdku4d_monsterПоскольку ID уникальный - то что принести - известно
только не известно откуда

Определение же таблицы в которой есть этот код окажется более "громоздким",чем использование любой доменной функции (или SELECT..) которые однозначно потребуют имя таблицы
(все это сильно напоминает доставание левого уха правой рукой через голову)
Элементарно, в случае ДВУХ таблиц - LEFT JOIN обеих и NZ или IIF + IS NULL.
...
Рейтинг: 0 / 0
16.09.2019, 09:16
    #39862141
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
Тут прикол - мне не надо знать "откуда принести". В моей базе все и без этого работает - таблицы то разные. Это выгрузка записей в 1С, и там они складываются в 1 справочник, вот при одинаковых кодах и происходит путаница. Самый тупой способ - при экспорте добавить к коду одной из таблиц букву - и имеем уникальность. Пока сделал так. Но в будущем, перед реальным запуском базы на все отделы, будет перезаливка номенклатуры. И тут я могу и коды на отрицательные переделать и все что угодно.
Вот соответственно вопрос видоизменился: достаточно ли в этом случае будет добавлять к коду одной из таблиц символ при экспорте или все-таки стоит заморочиться реорганизацией для получения реальной уникальности кода в 2-х таблицах?
...
Рейтинг: 0 / 0
17.09.2019, 09:00
    #39862577
ldfanate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
авторПока сделал так. Но в будущем, перед реальным запуском базы на все отделы, будет перезаливка номенклатуры
Если речь об НСИ номенклатуры МТР, то лучше сразу при проектировании справочника закладывать возможное наличие дублей. Например статус "Эталон/Дубликат" и перекрёстные ссылки сбоку.
Потому как в реальной жизни на большом объёме НСИ (особенно когда номенклатура закупается не централизованно, а от зоопарка разных поставщиков), - от дублей уберечься практически невозможно.

Если нельзя победить - возглавь (с).
...
Рейтинг: 0 / 0
17.09.2019, 09:16
    #39862581
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
ldfanate Если речь об НСИ номенклатуры МТР, то лучше сразу при проектировании справочника закладывать возможное наличие дублей. Например статус "Эталон/Дубликат" и перекрёстные ссылки сбоку.
Потому как в реальной жизни на большом объёме НСИ (особенно когда номенклатура закупается не централизованно, а от зоопарка разных поставщиков), - от дублей уберечься практически невозможно.

Если нельзя победить - возглавь (с).
Пока планируется ведение справочника(не подвязка приходов и выдач, а управление структурой справочника и его составом) из моей базы. А тут я могу сделать все что угодно....
Но про Эталон/Дубликат на понял.... можно поподробнее?
...
Рейтинг: 0 / 0
17.09.2019, 09:45
    #39862589
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
Serg197311Можно ли сделать какими нибудь штатными методами так, что бы код-ключ был уникален для обеих таблиц?Да, перейти с Long на GUID
...
Рейтинг: 0 / 0
17.09.2019, 12:22
    #39862755
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
ПанургSerg197311Можно ли сделать какими нибудь штатными методами так, что бы код-ключ был уникален для обеих таблиц?Да, перейти с Long на GUID
Для "сложных справочников" самое оно!
...
Рейтинг: 0 / 0
18.09.2019, 14:16
    #39863327
ldfanate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
Serg197311Но про Эталон/Дубликат на понял.... можно поподробнее?

Ну вновь вводимые записи МТР имеют статусную схему: по умолчанию Эталон, если на этапе ввода записи в справочник не выявили дублей. И периодические сверки/прокрыживания номенклатуры МТР (ну например по номеру ГОСТа/ТУ производителя). Чтобы если например два поставщика одну и ту же номенклатуру поставили с разными наименованиями МТР, и это пролезло в справочник, - то применяется процедура признания одной из записей справочника эталонной. Чтобы ограничить в ИУСах ситуации, когда часть пользователей одну и ту же номенклатуру используют на двух разных кодах МТР с похожими названиями.
...
Рейтинг: 0 / 0
30.09.2019, 13:25
    #39869107
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
ПанургДа, перейти с Long на GUIDПравильно ли я понимаю, что для этого в таблица ключевым должно быть поле формата "Код репликации"?
...
Рейтинг: 0 / 0
30.09.2019, 13:48
    #39869131
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Уникальный ключ в 2-х таблицах
Serg197311ПанургДа, перейти с Long на GUIDПравильно ли я понимаю, что для этого в таблица ключевым должно быть поле формата "Код репликации"?
Да
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Уникальный ключ в 2-х таблицах / 23 сообщений из 23, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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