powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Создать собственный уникальный ID по шаблону
27 сообщений из 27, показаны все 2 страниц
Создать собственный уникальный ID по шаблону
    #39922606
foregit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня.
Вопрос возник - возможно ли создать для своей базы уникальный ID имеющий определенную структуру?
Как пример - есть несколько таблиц в базе, допустим: винты, гайки и шайбы
В каждой есть собственный счетчик, каждой присвоим допустим свой уникальный код AAA, BBB, CCC
Хочется сделать сквозную нумерацию деталей в базе путем задания уникального для всей базы индекса, при чем имеющего определенный формат - фиксированное число букв и цифр
С буквами то проблем нет, а вот с числами...
Пытался сделать вычисляемое поле по типу : : "AAA" & [Счетчик], но не знаю как заставить число выводиться с определенным количеством цифр, типа :
AAA00001
AAA00002
....
AAA01234

в вычисляемое поле функция Format () не лезет

Есть ли возможность сгородить такой ID?
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922620
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922622
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
foregit, эту проблему решает композитный ключ. создайте в каждой таблице поле со своим номером (можно даже создать индекс из 2 полей ( в смысле счетчик и это поле)), винты -1, гайки -2, шайбы-3. и все. при импорте или создании запроса используйте эти 2 поля.
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922648
foregit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko
foregit, эту проблему решает композитный ключ. создайте в каждой таблице поле со своим номером (можно даже создать индекс из 2 полей ( в смысле счетчик и это поле)), винты -1, гайки -2, шайбы-3. и все. при импорте или создании запроса используйте эти 2 поля.

Так я ж собственно это и делал, и выше слово в слово описал:

авторПытался сделать вычисляемое поле по типу : : "AAA" & [Счетчик], но не знаю как заставить число выводиться с определенным количеством цифр

На выходе получаю
AAA1
AAA2
...

Вместо собственно то ради чего и тему создавал

AAA00001
AAA00002
....
AAA01234

Мне он собственно и как ключ не нужен - ключем в своей собственной таблице ее собственный счетчик и работает.
Но вот при выводе данных, допустим в ведомость покупных, хотелось бы иметь такой однозначный код детали во всей базе.
Или же это даст возможность создать общую таблицу деталей в базе с этим ID
Что то типа так:
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922660
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
foregit
не знаю как заставить число выводиться с определенным количеством цифр

Во проблема...
Код: vbnet
1.
prefix & RIGHT(STRING(number_length, "0") & counter_field), number_length)



Ну или совсем по-простому - установить в таблице формат для поля счётчика как 000000 (сколько надо цифр - столько нулей, кавычками не обрамлять).
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922676
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
foregit
alecko
foregit, эту проблему решает композитный ключ. создайте в каждой таблице поле со своим номером (можно даже создать индекс из 2 полей ( в смысле счетчик и это поле)), винты -1, гайки -2, шайбы-3. и все. при импорте или создании запроса используйте эти 2 поля.

Так я ж собственно это и делал, и выше слово в слово описал:

авторПытался сделать вычисляемое поле по типу : : "AAA" & [Счетчик], но не знаю как заставить число выводиться с определенным количеством цифр


На выходе получаю
AAA1
AAA2
...

Вместо собственно то ради чего и тему создавал

AAA00001
AAA00002
....
AAA01234

Мне он собственно и как ключ не нужен - ключем в своей собственной таблице ее собственный счетчик и работает.
Но вот при выводе данных, допустим в ведомость покупных, хотелось бы иметь такой однозначный код детали во всей базе.
Или же это даст возможность создать общую таблицу деталей в базе с этим ID
Что то типа так:


боюсь так не взлетит по такой схеме
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922686
foregit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во проблема...
Код: vbnet
1.
prefix & RIGHT(STRING(number_length, "0") & counter_field), number_length)


Ну или совсем по-простому - установить в таблице формат для поля счётчика как 000000 (сколько надо цифр - столько нулей, кавычками не обрамлять).[/quot]

Вот спасибо, мил человек.
Первый вариант сработал :)

"AAA" & Right(String(5;"0") & [Код];5)

Второй вариант не подходит ибо он будет работать только на поле Счетчик - при сцепке его с другим полем (строкой) все равно будем получать ААА1
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922688
foregit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI

боюсь так не взлетит по такой схеме

Ну это было так, навскидку уже при написании поста.
Мне достаточно вытягивать по запросу в итоговый отчет этот уникальный номер
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922692
foregit
в вычисляемое поле функция Format () не лезет
Что значит "не лезет"? В конструкторе запроса: "ААА" & Format([Счетчик] ; '00000')
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922698
foregit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кривцов Анатолий
foregit
в вычисляемое поле функция Format () не лезет
Что значит "не лезет"? В конструкторе запроса: "ААА" & Format([Счетчик] ; '00000')


Функции Format даже нету в списке встроенных функций в построителе. Она насколько я знаю работает только в VBA
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922702
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

foregit, а зачем одинаковые таблицы?
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922716
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
foregit,

Это называется "номенклатурный справочник".
Тут много копий сломано.
Ну и "Сборки" то же из этой серии.
Ну а дальше как снежный ком (древовидные структуры ........)
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922734
foregit
Функции Format даже нету в списке встроенных функций в построителе. Она насколько я знаю работает только в VBA
Вычисляемые поля в таблице - ЗЛО. Не меньшее, чем многозначные поля и поля подстановки.
В запросах и вычисляемых полях форм/отчетов Format работает прекрасно.
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922799
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот такие ключи
блин - не увидеть как выглядит изображение.
причем здесь учитывается и крепеж и заготовки и детали, созданные из этих заготовок и части одного целого созданные из этих деталей крепежа с добавкой крепежа в результирующую деталь.
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922922
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кривцов Анатолий
....Вычисляемые поля в таблице - ЗЛО. Не меньшее, чем многозначные поля и поля подстановки...
Рекомендую такую схему:
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922934
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку:[составСборки].[группа] и [составСборки].[деталь] в соответствующе форме зависимые поляСоСписком
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922943
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Вдогонку:[составСборки].[группа] и [составСборки].[деталь] в соответствующе форме зависимые поляСоСписком

справочник -->сборки --> древовидные структуры .........
кто продолжит?
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39922973
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI

справочник -->сборки --> древовидные структуры .........
кто продолжит?

ЙА!!!
Но как-нибудь потом)
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39923055
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311
ROI

справочник -->сборки --> древовидные структуры .........
кто продолжит?

ЙА!!!
Но как-нибудь потом)
Зачем потом-можно щас:выдернть волосок из бороды,сказать "трах-тибидох" (как в "Старике Хотабыче") и получить желаемый результат из неверно спроектированной БД.
Не все так просто как кажется (Козьма Прутков)
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39923077
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Не все так просто как кажется


там есть пару-тройку интересных моментов :
1.
foregit
Как пример - есть несколько таблиц в базе, допустим: винты, гайки и шайбы

Возможно описание параметров деталей настолько несовместимо, что лучше держать детали в разных таблицах, правда именно для этого примера все параметры уместятся тупо в самом наименовании

2.
foregit
В каждой таблице есть собственный счетчик

Интересно на сколько это востребовано и оправдано (чтоб у винтов и гаек были свои счетчики)

3. Похоже это тупо попытка уйти от Экселя в разрезе прайса, а там как фишка ляжет...

В общем если пункты 1 и 2 это надуманный миф или не критичны, то оптимально будет иметь одну таблицу
деталей с кодом из классификатора что это такое, как тут и предлагали: 1 в классификаторе - винты + поле с ААА иначе на дальнейшее фишка вообще не ляжет ...
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39923106
foregit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku
Кривцов Анатолий
....Вычисляемые поля в таблице - ЗЛО. Не меньшее, чем многозначные поля и поля подстановки...
Рекомендую такую схему:

Такая схема идет только как здесь и нарисовано для линейных моделей

деталь-сборка-изделие

а вот если еще добавить уровень сборок - то есть в одну сборку входят другие сборки (+детали), эта линейная схема уже не канает,
при этом количество уровней заранее неизвестно - там уже включается рекурсия
То что я привел - это просто справочник деталей, из которого планируется дергать детали
А в самой базе тоже все просто
одна таблица - сборки , в которой перечислены все сборки или же номерные детали, и вторая таблица взаимоотношения - что куда входит.
Зачем плодить сущности и усложнять ..
Ну как минимум на данном этапе моя задача накрывается

авторИнтересно на сколько это востребовано и оправдано (чтоб у винтов и гаек были свои счетчики)

Это только пример справочника стандартных изделий, а есть же куча других деталей, как было правильно выше указано совсем с другими параметрами - микросхемы, диоды, транзисторы. И держать их в одной базе с гайками совсем не комильфо
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39923135
ИВП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была же специальная ТЕМА на эту ТЕМУ с участием уважаемых ПЕНСИОНЕРКИ, Л-П, Алекса_с_номером. Вроде все про схему данных там АПсудили...
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39923146
foregit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИВП
Была же специальная ТЕМА на эту ТЕМУ с участием уважаемых ПЕНСИОНЕРКИ, Л-П, Алекса_с_номером. Вроде все про схему данных там АПсудили...


Так изначальный вопрос же темы был простой ;)
авторсоздать для своей базы уникальный ID
Но тут понеслась душа в рай ;) Видать больную тему затронули ;)
З.Ы. А ссылочку на тему можно? ;)
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39923152
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
foregit
Но тут понеслась душа в рай ;) Видать больную тему затронули ;)
Ну не зря же были придуманы правила нормализации .
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39923153
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
foregit
Но тут понеслась душа в рай ;) Видать больную тему затронули ;)
З.Ы. А ссылочку на тему можно? ;)
См.здесь
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39923390
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag

...Возможно описание параметров деталей настолько несовместимо, что лучше держать детали в разных таблицах...
С учетом этого и создана таблица группы.Пусть таблица [детали]содержит все возможные параметры для всех групп-зто максимум 20-30 столбцов(не есть недопустимо) и для записи определенной группы будет заполнена часть полей-остальные пусты(тоже вполне допустимо) для других групп аналогично, только другие столбцы. При заполнении формы "детали", после выбора группы, отображать в ней только соответствующие, выбранной группе, поля. (если в именах полей использовать префикс-сокращенное наименование группы-очень просто делается циклом)
В разных таблицах одна сущность не есть "лучше" т.к в дальнейшем будет очень геморно
...
Рейтинг: 0 / 0
Создать собственный уникальный ID по шаблону
    #39923392
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
vmag

...Возможно описание параметров деталей настолько несовместимо, что лучше держать детали в разных таблицах...
С учетом этого и создана таблица группы.Пусть таблица [детали]содержит все возможные параметры для всех групп-зто максимум 20-30 столбцов(не есть недопустимо) и для записи определенной группы будет заполнена часть полей-остальные пусты(тоже вполне допустимо) для других групп аналогично, только другие столбцы. При заполнении формы "детали", после выбора группы, отображать в ней только соответствующие, выбранной группе, поля. (если в именах полей использовать префикс-сокращенное наименование группы-очень просто делается циклом)
В разных таблицах одна сущность не есть "лучше" т.к в дальнейшем будет очень геморно

Чё опять (бери мочала начинай с начала)
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Создать собственный уникальный ID по шаблону
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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