Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Создать собственный уникальный ID по шаблону  [new]
foregit
Member

Откуда:
Сообщений: 8
Доброго дня.
Вопрос возник - возможно ли создать для своей базы уникальный ID имеющий определенную структуру?
Как пример - есть несколько таблиц в базе, допустим: винты, гайки и шайбы
В каждой есть собственный счетчик, каждой присвоим допустим свой уникальный код AAA, BBB, CCC
Хочется сделать сквозную нумерацию деталей в базе путем задания уникального для всей базы индекса, при чем имеющего определенный формат - фиксированное число букв и цифр
С буквами то проблем нет, а вот с числами...
Пытался сделать вычисляемое поле по типу : : "AAA" & [Счетчик], но не знаю как заставить число выводиться с определенным количеством цифр, типа :
AAA00001
AAA00002
....
AAA01234

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

Есть ли возможность сгородить такой ID?
5 фев 20, 09:00    [22073354]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4620
...

Сообщение было отредактировано: 5 фев 20, 09:46
5 фев 20, 09:40    [22073383]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 608
foregit, эту проблему решает композитный ключ. создайте в каждой таблице поле со своим номером (можно даже создать индекс из 2 полей ( в смысле счетчик и это поле)), винты -1, гайки -2, шайбы-3. и все. при импорте или создании запроса используйте эти 2 поля.

Сообщение было отредактировано: 5 фев 20, 09:46
5 фев 20, 09:46    [22073385]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
foregit
Member

Откуда:
Сообщений: 8
alecko
foregit, эту проблему решает композитный ключ. создайте в каждой таблице поле со своим номером (можно даже создать индекс из 2 полей ( в смысле счетчик и это поле)), винты -1, гайки -2, шайбы-3. и все. при импорте или создании запроса используйте эти 2 поля.

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

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


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

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

AAA00001
AAA00002
....
AAA01234

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

К сообщению приложен файл. Размер - 9Kb
5 фев 20, 10:13    [22073418]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20026
foregit
не знаю как заставить число выводиться с определенным количеством цифр

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


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

Сообщение было отредактировано: 5 фев 20, 10:28
5 фев 20, 10:24    [22073433]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1870
foregit
alecko
foregit, эту проблему решает композитный ключ. создайте в каждой таблице поле со своим номером (можно даже создать индекс из 2 полей ( в смысле счетчик и это поле)), винты -1, гайки -2, шайбы-3. и все. при импорте или создании запроса используйте эти 2 поля.

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

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


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

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

AAA00001
AAA00002
....
AAA01234

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

Картинка с другого сайта.

боюсь так не взлетит по такой схеме
5 фев 20, 10:46    [22073453]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
foregit
Member

Откуда:
Сообщений: 8
Во проблема...
prefix & RIGHT(STRING(number_length, "0") & counter_field), number_length)

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

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

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

Второй вариант не подходит ибо он будет работать только на поле Счетчик - при сцепке его с другим полем (строкой) все равно будем получать ААА1
5 фев 20, 11:03    [22073465]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
foregit
Member

Откуда:
Сообщений: 8
ROI

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

Ну это было так, навскидку уже при написании поста.
Мне достаточно вытягивать по запросу в итоговый отчет этот уникальный номер
5 фев 20, 11:06    [22073468]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 453
foregit
в вычисляемое поле функция Format () не лезет
Что значит "не лезет"? В конструкторе запроса: "ААА" & Format([Счетчик];'00000')
5 фев 20, 11:15    [22073476]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
foregit
Member

Откуда:
Сообщений: 8
Кривцов Анатолий
foregit
в вычисляемое поле функция Format () не лезет
Что значит "не лезет"? В конструкторе запроса: "ААА" & Format([Счетчик];'00000')


Функции Format даже нету в списке встроенных функций в построителе. Она насколько я знаю работает только в VBA

К сообщению приложен файл. Размер - 9Kb


Сообщение было отредактировано: 5 фев 20, 11:23
5 фев 20, 11:23    [22073487]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4620
Картинка с другого сайта.
foregit, а зачем одинаковые таблицы?
5 фев 20, 11:31    [22073496]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1870
foregit,

Это называется "номенклатурный справочник".
Тут много копий сломано.
Ну и "Сборки" то же из этой серии.
Ну а дальше как снежный ком (древовидные структуры ........)
5 фев 20, 11:46    [22073519]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 453
foregit
Функции Format даже нету в списке встроенных функций в построителе. Она насколько я знаю работает только в VBA
Вычисляемые поля в таблице - ЗЛО. Не меньшее, чем многозначные поля и поля подстановки.
В запросах и вычисляемых полях форм/отчетов Format работает прекрасно.
5 фев 20, 12:02    [22073543]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 608
вот такие ключи
блин - не увидеть как выглядит изображение.
причем здесь учитывается и крепеж и заготовки и детали, созданные из этих заготовок и части одного целого созданные из этих деталей крепежа с добавкой крепежа в результирующую деталь.

К сообщению приложен файл. Размер - 131Kb


Сообщение было отредактировано: 5 фев 20, 12:57
5 фев 20, 12:56    [22073647]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6439
Кривцов Анатолий
....Вычисляемые поля в таблице - ЗЛО. Не меньшее, чем многозначные поля и поля подстановки...
Рекомендую такую схему:

К сообщению приложен файл. Размер - 38Kb
5 фев 20, 15:11    [22073899]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6439
Вдогонку:[составСборки].[группа] и [составСборки].[деталь] в соответствующе форме зависимые поляСоСписком
5 фев 20, 15:16    [22073918]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1870
sdku
Вдогонку:[составСборки].[группа] и [составСборки].[деталь] в соответствующе форме зависимые поляСоСписком

справочник -->сборки --> древовидные структуры .........
кто продолжит?
5 фев 20, 15:23    [22073932]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
Serg197311
Member

Откуда: Жуковский
Сообщений: 671
ROI

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

ЙА!!!
Но как-нибудь потом)
5 фев 20, 15:48    [22073969]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6439
Serg197311
ROI

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

ЙА!!!
Но как-нибудь потом)
Зачем потом-можно щас:выдернть волосок из бороды,сказать "трах-тибидох" (как в "Старике Хотабыче") и получить желаемый результат из неверно спроектированной БД.
Не все так просто как кажется (Козьма Прутков)
5 фев 20, 17:58    [22074105]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
vmag
Member

Откуда: MP
Сообщений: 3457
sdku
Не все так просто как кажется


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

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

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

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

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

В общем если пункты 1 и 2 это надуманный миф или не критичны, то оптимально будет иметь одну таблицу
деталей с кодом из классификатора что это такое, как тут и предлагали: 1 в классификаторе - винты + поле с ААА иначе на дальнейшее фишка вообще не ляжет ...
5 фев 20, 19:01    [22074148]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
foregit
Member

Откуда:
Сообщений: 8
sdku
Кривцов Анатолий
....Вычисляемые поля в таблице - ЗЛО. Не меньшее, чем многозначные поля и поля подстановки...
Рекомендую такую схему:

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

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

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

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


Это только пример справочника стандартных изделий, а есть же куча других деталей, как было правильно выше указано совсем с другими параметрами - микросхемы, диоды, транзисторы. И держать их в одной базе с гайками совсем не комильфо

К сообщению приложен файл. Размер - 6Kb


Сообщение было отредактировано: 5 фев 20, 20:47
5 фев 20, 20:45    [22074193]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
ИВП
Member

Откуда:
Сообщений: 312
Была же специальная ТЕМА на эту ТЕМУ с участием уважаемых ПЕНСИОНЕРКИ, Л-П, Алекса_с_номером. Вроде все про схему данных там АПсудили...
5 фев 20, 22:07    [22074230]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
foregit
Member

Откуда:
Сообщений: 8
ИВП
Была же специальная ТЕМА на эту ТЕМУ с участием уважаемых ПЕНСИОНЕРКИ, Л-П, Алекса_с_номером. Вроде все про схему данных там АПсудили...


Так изначальный вопрос же темы был простой ;)
автор
создать для своей базы уникальный ID

Но тут понеслась душа в рай ;) Видать больную тему затронули ;)
З.Ы. А ссылочку на тему можно? ;)

Сообщение было отредактировано: 5 фев 20, 22:44
5 фев 20, 22:44    [22074242]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
DarkMan
Member

Откуда:
Сообщений: 590
foregit
Но тут понеслась душа в рай ;) Видать больную тему затронули ;)
Ну не зря же были придуманы правила нормализации .
5 фев 20, 23:39    [22074254]     Ответить | Цитировать Сообщить модератору
 Re: Создать собственный уникальный ID по шаблону  [new]
DarkMan
Member

Откуда:
Сообщений: 590
foregit
Но тут понеслась душа в рай ;) Видать больную тему затронули ;)
З.Ы. А ссылочку на тему можно? ;)
См.здесь
5 фев 20, 23:48    [22074257]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить