powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как заместить запись в таблице новой с таким же значением ключевого поля.
25 сообщений из 25, страница 1 из 1
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405329
dk2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица "Номенклатура" с номенклатурой всего товара, который есть на фирме. Ключевое поле штрих код.
Поступает новый товар, его нужно добавить в таблицу "Номенклатура".
Но среди нового товара есть с таким же штрих кодом, как приходил ранее и уже есть в таблице и у нового товара допустим поменялась цена, срок хранения и т.д..
Как в таблице "Номенклатура" заместить старый товар новым с таким же значением ключевого слова?
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405351
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dk2005Есть таблица "Номенклатура" с номенклатурой всего товара, который есть на фирме. Ключевое поле штрих код.

Схема БД спроектирована не правильно...
- К штих-коду должно быть привязано только название товара и то из классификатора, цены, сроки и т.д. должны быть в других таблицах (приход, прайс,...).
- Зря штрих-код ключевое поле, лучше бы ключем был счетчик, очень часто один тот же штрих-код бывает на разных товарах, особенно в аптеках, в этом случае при продаже в интерфейсе дается возможность кассиру выбрать нужный товар для продажи из списка. В вашем случае придется заклеивать заводской шрих-код дубль генерировать и клеить сверху другой. Плюс даже если ключ это счетчик, запретить дублирование штрих-кодов дублей можно было программно.
- Собственно ответ на именно ваш вопрос: замещать не нужно, следует найти запись с нужным ш-к и изменить в ней значения нужных полей (цена, срок,...)
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405355
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dk2005,
Считаю, что замещать записи есть не правильно-Вы лишитесь истории.
Если имеется хоть одно отличие (а оно имеется) товар надо приходовать.
Как товары отличать в дальнейшем-возможны варианты
Рекомендую почитать это
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405472
dk2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag,

В моем случае очень удобно было сделать ключевым полем именно штрихкод.
Мне выгружают номенклатуру всего товара из другой базы данных в таблицу exсel.
Я эту таблицу импортирую в свою таблицу "номенклатура" - эта таблица у меня, если я правильно понимаю, и есть классификатор.
а потом мне так же в таблицах excel присылают накладные на поставки товара, который уже есть в классификаторе.
И я этот товар по штрих коду приходую на склад.

а если сделать ключевым полем "Счетчик", мне, чтобы оприходывать поступивший товар нужно из классификатора выбрать товар, который поступает. А как выбрать? Ведь в таблице, которую мне прислали нет поля со значением моего "Счетчика"?
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405492
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dk2005А как выбрать? Ведь в таблице, которую мне прислали нет поля со значением моего "Счетчика"?
Соединить по полю штрихкода и получить счнетчик, ничего сложного.
Насчет того, что нельзя использовать штрихкод как ключ - полностью согласен. Штрихкод может поменяться, может появиться альтернативный штрихкод, могут быть дупликаты.
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405529
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dk2005А как выбрать? Ведь в таблице, которую мне прислали нет поля со значением моего "Счетчика"?

точно так же - по штрих-коду (его никто не отменял)....

dk2005Мне выгружают номенклатуру всего товара из другой базы данных в таблицу exсel.
Я эту таблицу импортирую в свою таблицу "номенклатура" - эта таблица у меня, если я правильно понимаю, и есть классификатор.

Для этого не нужно было городить акцесс - можно было работать с исходным файлом экселя...

По уму не нужно было их номенклатуру тупо копировать к себе в аналогичную таблицу, а нужно было её обрабатывать и заполнять свои как минимум две таблицы: номенклатура и прайс по примерно такому алгоритму:
1. Читаем строку экселя и пробуем найти у себя в номенклатуре по штрих-коду товар, если его нет, то создаем новую запись номенклатуры: штрих-код/наименование плюс создаем новую запись в подчиненной таблице прайс: Дата/Цена1/цена2....
2. Читаем строку и если такой товар есть в номенклатуре, то находим его и в подчиненной таблице прайс ищем его действующую цену (по максимальной дате), если не изменилась - ничего не делаем, если изменилась - добавляем новую строку в прайс Дата/Цена1/цена2....

dk2005а потом мне так же в таблицах excel присылают накладные на поставки товара, который уже есть в классификаторе.
И я этот товар по штрих коду приходую на склад.

Накладные нужно тоже обрабатывать при импорте (искать и проверять строки на наличие и соответствие товара в классификаторе) и только потом бросать в отдельную таблицу приход - вот в этих строках и должны быть сроки годности и прочая хрень...

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


ВНИМАНИЕ! Это так - на трех пальцах, что бы понятно было что у вас сделано не так - на самом деле все гораздо сложнее... и схема склада не единственная, это кусок одной из...
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405547
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделать ключ составным штрихкод-артикул например.
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405587
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleckoсделать ключ составным штрихкод-артикул например

идея не очень... это сделает артикул обязательным параметром и его придется буквально рожать самому, артикул очень плотно (но не на 100%) используется только в обуви, одежде, мебели, а в продуктах, аптеках, сантехнике, косметике, парфюмерии, строй материалах, хоз товарах, бижутерии, ювелирке, авто запчастях (и этот список гораздо больше) артикул как пятое колесо в телеге, там кроме штрих-кода больше ничего не нужно...
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405607
dk2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MrShindk2005А как выбрать? Ведь в таблице, которую мне прислали нет поля со значением моего "Счетчика"?
Соединить по полю штрихкода и получить счнетчик, ничего сложного.
Насчет того, что нельзя использовать штрихкод как ключ - полностью согласен. Штрихкод может поменяться, может появиться альтернативный штрихкод, могут быть дупликаты.

Соединить по полю штрих код и получить счетчик, но как, ведь в случае с повторяющимися значениями штрих кодов, в таблице будет несколько записей с разными ключами и одним штрих кодом.
Как узнать какой ключ надо цеплять?
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405617
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пришел штрих-код, который уже есть в вашей базе.
Как определить - это старый товар" с новой ценой и проч..., или "новый товар" просто штрих-коды у разных поставщиков совпали?
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405627
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dk2005Как узнать какой ключ надо цеплять?
Это, скорее, исключительная ситуация, дубликаты бывают не часто, поэтому обычно выбор далается вручную по остальным полям - дополнительные признаки, название, цена, дата поступления и т.п.
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405662
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagaleckoсделать ключ составным штрихкод-артикул например

идея не очень... это сделает артикул обязательным параметром и его придется буквально рожать самому, артикул очень плотно (но не на 100%) используется только в обуви, одежде, мебели, а в продуктах, аптеках, сантехнике, косметике, парфюмерии, строй материалах, хоз товарах, бижутерии, ювелирке, авто запчастях (и этот список гораздо больше) артикул как пятое колесо в телеге, там кроме штрих-кода больше ничего не нужно...
артикулы закреплены в законодательстве(ТОРГ-12), хотя речь шла об артикуле как примере, но артикулы есть везде и используются они даже чаще чем штрихкоды- теми кто не пользуется по разным причинам компьютерами-сканерами. к использованию добавьте игрушки, канцтовары, хозтовары, книги ISB, открытки и вообще бумажная продукция. а про автозапчасти это Вы даете - а как же код по каталогу? это же и есть артикул!
вообще использование таких вещей в качестве ключа - плохая идея сразу, однако в качестве индекса - эта связка довольно таки хорошо работает.
штрихкоды присваиваются производителем, в общем случае (исключение пресса например) товары с одинаковым штрихкодом EAN13 являются тем же товаром, если это не штрих для внутреннего потребления (начинается с 2)
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405744
dk2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bubuchaПришел штрих-код, который уже есть в вашей базе.
Как определить - это старый товар" с новой ценой и проч..., или "новый товар" просто штрих-коды у разных поставщиков совпали?

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

Или, вариант, который предлагал vmag

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

Как только это реализовать?
Нужно сделать форму промежуточную, встать на каждую стоку и проверить её на наличие совпадений в классификаторе?
Если строки нет, копируем её туда полностью, а если есть изменяем нужные поля?
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405772
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dk2005Вариант с замещением в базе старой записи на новую меня бы вполне устроил.

ну тоды зависит от того, как организован импорт из екселя , например, если табла екселя линкуется, можно примерно так:

Код: sql
1.
update ТаблаАкес set ПолеАкес1=ПолеЕксел1, ПолеАксес2=ПолеЕксел2....where ТаблаАкес.Штрих= ТаблаЕксел.Штрих
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39405825
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерно так:
Код: sql
1.
2.
UPDATE T1 INNER JOIN T2 ON T1.EAN = T2.EAN 
SET T1.A = T2.A, ......., T1.D = T2.D
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39406171
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleckoа про автозапчасти это Вы даете - а как же код по каталогу? это же и есть артикул!

у меня авто запчастей штук 7 ...
Код по каталогу не корректно сравнивать с артикулом, а тем более отождествлять...
Код по каталогу всегда однозначно указывает на конкретную деталь, многие автозапчасти продают именно по этим кодам и не используют штрих-коды, а соответственно и сканеры. То есть по заявленному коду всегда принесут одну конкретную деталь...
Артикул обычно объединяет модель (ряд), например Т-432156 определяет конкретный фасон обуви (одежды) с разными размерами и цветами, а отличаются они друг от друга штрих-кодами. То есть если вы в обувном или одежде спросите про артикул - вас подведут к стеллажу с этим артикулом или попросят уточнить цвет и размер.
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39406207
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag, у меня другой опыт, где артикул определяет товар (однозначно для этого производителя, но артикулы могут у разных производителей/поставщиков совпадать) и код в каталоге это и есть артикул. артикул может назначать каждый поставщик/посредник свой и тогда они приобретают такой вид: 114993730/EB48970/HT004, штрихкод же назначить не так просто, хотя тоже есть куча примеров разных штрихкодов для одного и того же товара :4607159671240;14607159671254;4607159671257 - это штрихкоды, присвоенные товару: "Цв.каранд.18цв Рус.карандаш Природа/Сказки к/у"- артикул СК037/18 (один).
артикулы невозможно считать - поэтому они для промышленного распознавания неприменимы и используются для ручной обработки.
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39406216
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleckoштрихкод же назначить не так просто
практически везде EAN13 (у вас в примере тоже) и особо думать не нужно, есть правила
https://strokescribe.com/ru/ean-13.html
у меня половина клиентов предпочитают генерить и клеить поверх заводских свои внутренние шк прямо из программы... делается как два пальца об асфальт - берем id товара, получаем и добавляем справа контрольную сумму (алгоритм есть в ссылке выше) слева добавляем ноли до 13 символов, всё, клеим... такая тенденция пошла после наплыва товаров из китая, на которых сканер не читает штрих-код ибо в нем 13 цифирей с потолка как в вашем примере второй штрих-код 14607159671254.... даже если предположить, что первая цифра лишняя (у вас 14 цифирей вместо 13 ти) а 46 это произведено в России, то последняя цифра должна быть 7 а не 4 - это контрольная сумма штрих-кода...
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39406230
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще...

aleckoартикулы невозможно считать - поэтому они для промышленного распознавания неприменимы

Если тут очепятка и имелось в виду "артикулы невозможно сосчитать сканером", то на EAN-13 свет клином не сошелся, есть куча других штрих-кодов в том числе и 2D, куда можно всунуть многа букав и цифирей, так что причина неприменимости артикулов не в этом...
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39406234
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagЕсли тут очепятка и имелось в виду "артикулы невозможно сосчитать сканером", то на EAN-13 свет клином не сошелся, есть куча других штрих-кодов в том числе и 2D, куда можно всунуть многа букав и цифирей, так что причина неприменимости артикулов не в этом...
на сканерах свет клином не сошелся - артикулы применяются там где нужно обходится без них. именно поэтому они и описывают товар - а не серию, партию и пр. (но производитель может захотеть и выпустить все под одним артикулам)
однако к составному ключу это уже имеет отдаленное отношение.
и, кстати ЕАН-13 состоит из 14-ти цифр (1-я цифра для Европы "1", для США- "0") - отсекается. потому и 14 цифр тоже верно, хотя контрольная цифра там и неверная.
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39406237
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleckoи, кстати ЕАН-13 состоит из 14-ти цифр

да и хрен с ним... нихай будет для вас ЕАN- 14 персонально...

https://ru.wikipedia.org/wiki/European_Article_Number
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39406465
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag, перечитал статью, таки да там 13 цифр, и США оставлена 0, спасибо, однако и проблема ведь немалая щас вылезла, так что EAN14 была бы неплоха, где "лишняя" цифра указывает на использование (или неиспользование дополнительных цифр), сейчас надо народу переключаться вручную - то EAN-13 то EAN-13(+5), переключать ПО, а как было бы удобно: следишь за этой цифрой и декодируешь как надо. Есть в сканерах режим общий где сканирует все, но много ошибок когда вместо EAN13(+5) сканирует EAN13.
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39406620
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleckoоднако и проблема ведь немалая щас вылезла

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

alecko13(+5)

Зачем? EAN-128(Code 128) или 2D в помощь, не нужно создавать трудности ни себе ни людям...
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39406990
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, использование существующих уже кодов создает небольшие трудности при проведении ревизий, однако это легкая прогулка со сканером по остаткам, в отличие от перемалывания огромного массива грузов (поставка) и данных в случае генерации и маркирования продукции новым баркодом.
Подобный подход позволил избавиться от кладовщиков.
...
Рейтинг: 0 / 0
Как заместить запись в таблице новой с таким же значением ключевого поля.
    #39406991
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alecko,

предлагаю прекратить прения, не хочется за ответом лазить сюда...
https://konservs.com/tools/bredogenerator/
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как заместить запись в таблице новой с таким же значением ключевого поля.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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