Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Изменение записи с помощью сканера штрих-кодов / 22 сообщений из 22, страница 1 из 1
27.06.2016, 16:14
    #39263032
drobash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
Приветствую.
Есть база с заказами и сканер штрих-кодов, имеется поле "№ заказа" и поле со списком "Текущее состояние".
Нужно чтобы при сканировании штрих-кода нашлась запись по № заказа и текущее состояние изменилось на, к примеру, "Выполнено".
Подскажите, как такое реализовать?
...
Рейтинг: 0 / 0
27.06.2016, 16:31
    #39263054
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
Ну код написать... который получит от сканера значение и в соответствии с ним внесёт необходимые изменения.
В этом смысле изменение по данным от сканера никак не отличается от изменения по данным, введённым оператором на форме.
...
Рейтинг: 0 / 0
27.06.2016, 20:22
    #39263188
Tarasios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
В чём проблема? Настраиваете сканер на эмуляцию нажатия Ентер после считывания (есть у всех сканеров, иногда по умолчанию стоит). На поле, куда будет считываться инфа сканером - цепляете последовательность нужных вам действий на событие "после обновления".
...
Рейтинг: 0 / 0
27.06.2016, 22:03
    #39263249
drobash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
TarasiosВ чём проблема? Настраиваете сканер на эмуляцию нажатия Ентер после считывания (есть у всех сканеров, иногда по умолчанию стоит). На поле, куда будет считываться инфа сканером - цепляете последовательность нужных вам действий на событие "после обновления".
А можно поподробнее?
...
Рейтинг: 0 / 0
27.06.2016, 22:45
    #39263261
Tarasios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
Подробнее на счёт чего именно? Настройки сканера или обработки значения, полученного сканером?
...
Рейтинг: 0 / 0
28.06.2016, 00:18
    #39263296
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
drobashА можно поподробнее?

на самом деле всё гораздо сложнее, чем все тут пишут (думаю от отсутствия практики):
- сканер считывает только штрих-код (если это сканер штрих-кода)
- штрих-код сначала нужно распечатать, потом уже сканировать (речь идет не о поиске товара а о поиске номера заказа)
- перед этим нужно определиться с типом используемого штрих-кода (ean13, code39, ...)
- нужно придумать как связать № заказа с штрих-кодом (сам номер заказа засунуть в штрих-код или добавить рядом поле для хранения значения штрихкода) помня о том, что одни штрих-коды могут хранить только цифры,
другие - цифры и только латинские буквы, 2D и круче требуют дорогих сканеров...

Итого: получается алгоритм-
1. При создании заказа создается только ему соответствующий УНИКАЛЬНЫЙ штрих-код, несмотря на то, что сам № заказа может повторяться (например в следующем году) . Я бы сделал отдельный уникальный счетчик для всех № заказа и именно его засовывал в именно EAN-13
2. Сам бланк готового заказа должен быть обязательно распечатан (С ШТРИХ-КОДОМ) и отдан в производство - иначе нечего будет сканировать на этапах производства...
3. На каждом этапе действия такие:
- сканируем штрих-код в поле
- в событии после обновления поля процедура, которая находит по считанному штрих-коду запись нужного заказа и делает нужные действия.

Отладить можно и без сканера (ean-13 можно ввести с клавиатуры - цифры под штрих-кодом)

AkinaВ этом смысле изменение по данным от сканера никак не отличается от изменения по данным, введённым оператором на форме.
...
Рейтинг: 0 / 0
28.06.2016, 02:08
    #39263325
Tarasios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
vmag, а что это за плюха " чем все тут пишут"? Автор вопроса коротко и в общем спросил, ему коротко и в общем ответили. Причём даже наводящие вопросы задали, для конкретизации. Будет конкретика - будут конкретные ответы. Если автору это точно нужно - будет диалог. А накручивать все возможные варианты "до, после, сбоку и во время" и делать ликбез на все эти варианты - можно бесконечно. Есть время и желание - развлекайтесь, только без поплёвывания по сторонам, плиз.
А ежели ответить на "от отсутствия практики" - то тут ещё проще. Я весьма слаб в Access, хотя и зарабатываю с помощью его денежку. И пусть не идеально, но варианты с использованием сканера и штрих кодов давно использую, и весьма успешно. Могу даже ссылочку дать на мой сайт с работающей программой учёта (на Access сделано). Так что ваше замечание немного не по теме.
К слову, рекомендую вместо классики EAN13 использовать Code 128.
...
Рейтинг: 0 / 0
28.06.2016, 06:22
    #39263356
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
Tarasiosvmag, а что это за плюха " чем все тут пишут"? Автор вопроса коротко и в общем спросил, ему коротко и в общем ответили. Причём даже наводящие вопросы задали, для конкретизации. Будет конкретика - будут конкретные ответы. Если автору это точно нужно - будет диалог. А накручивать все возможные варианты "до, после, сбоку и во время" и делать ликбез на все эти варианты - можно бесконечно. Есть время и желание - развлекайтесь, только без поплёвывания по сторонам, плиз.
А ежели ответить на "от отсутствия практики" - то тут ещё проще. Я весьма слаб в Access, хотя и зарабатываю с помощью его денежку. И пусть не идеально, но варианты с использованием сканера и штрих кодов давно использую, и весьма успешно. Могу даже ссылочку дать на мой сайт с работающей программой учёта (на Access сделано). Так что ваше замечание немного не по теме.
К слову, рекомендую вместо классики EAN13 использовать Code 128.
Совершенно согласен.
Есть вопрос - есть ответ и нечего додумывать, а чё там ТС имел в виду.
...
Рейтинг: 0 / 0
28.06.2016, 10:46
    #39263494
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
Tarasiosvmag, а что это за плюха " чем все тут пишут"? Автор вопроса коротко и в общем спросил, ему коротко и в общем ответили.

я отвечал на следующий вопрос и не вам

drobashА можно поподробнее?

и думаю ответ более чем исчерпывающий, после которого больше скорее всего не будет вопросов, если кого задел - сорри... не со зла, просто обычно если отвечаю - то не для галочки, а основательно...
...
Рейтинг: 0 / 0
28.06.2016, 12:25
    #39263642
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
По реализации сканирования в формы могу дать совет, который облегчит взаимодействие формы и сканера.
Фактически сканер - это та же клавиатура, но символы генерируются автоматически. Чтобы форма правильно восприняла сканированный код, нужно, чтобы фокус ввода находился в тектовом поле для ввода штрихкода. Это не всегда получается, особенно если сканер совмещен с терминалом и пользователь может случайно нажать на форму и увести фокус в другое поле. Для обхода этого я в свое время использовал возможность сканеров генерировать не только потфикс (Enter, например), но и префикс - так называемые AIM коды, где чаще всего 3 символа пределяют тип отсканированного кода (EAN13, Code128 и т.п.).
Таким образом, если мы включаем AIM коды и на форме ввода отслеживаем все нажатия клавиш, мы всегда можем распознать событие сканирования штрихкода независимо от фокуса ввода и реагируем только на заданные типы ШК, не обращая внимания на случайно отсканированные коды и передаем только нужную информацию в необходимые поля формы, определяя при необходимости нужный тип уже по содержанию ШК.
...
Рейтинг: 0 / 0
28.06.2016, 12:33
    #39263652
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
MrShinФактически сканер - это та же клавиатура, но символы генерируются автоматически.
ЛЮБОЙ сканер и ЛЮБОЙ способ программной работы с ним - это ВСЕГДА эмуляция клавиатурного ввода? Точно?
...
Рейтинг: 0 / 0
28.06.2016, 12:43
    #39263659
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
AkinaЛЮБОЙ сканер и ЛЮБОЙ способ программной работы с ним - это ВСЕГДА эмуляция клавиатурного ввода? Точно?
Те сканеры, которые я держал в руках все эмулировали клавиатуру. Уверен, что есть спецализированные, которые заточены под определенное приложение и работают с ним напрямую, а не как клавиатура. Но если ТС не уточнял этот момент, принимаем, что используется сканер-эмулятор клавиатуры.
...
Рейтинг: 0 / 0
28.06.2016, 13:45
    #39263790
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
MrShinУверен, что есть спецализированные, которые заточены под определенное приложение и работают с ним напрямую, а не как клавиатура.
Даже к эмулирующему сканеру вполне может придаваться какая-нить DLL, которая позволяет "подёргать" его за ниточки чуть более плотно. А даже если и нет - стопудово обслуживающая трансляцию в клавиатурные коды библиотека имеет дополнительные свойства и методы, также доступные программно. Ведь как-то этот девайс должен настраиваться...
...
Рейтинг: 0 / 0
28.06.2016, 13:56
    #39263809
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
Некоторые простые девайсы настраиваются сканированием служебных кодов, у других действительно есть свое API для настройки и получения данных, но, как правило, у каждого сканера есть возможность работы как эмулятора клавиатуры
...
Рейтинг: 0 / 0
28.06.2016, 14:02
    #39263815
drobash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
vmagна самом деле всё гораздо сложнее, чем все тут пишут (думаю от отсутствия практики):
- сканер считывает только штрих-код (если это сканер штрих-кода)
- штрих-код сначала нужно распечатать, потом уже сканировать (речь идет не о поиске товара а о поиске номера заказа)
- перед этим нужно определиться с типом используемого штрих-кода (ean13, code39, ...)
- нужно придумать как связать № заказа с штрих-кодом (сам номер заказа засунуть в штрих-код или добавить рядом поле для хранения значения штрихкода) помня о том, что одни штрих-коды могут хранить только цифры,
другие - цифры и только латинские буквы, 2D и круче требуют дорогих сканеров...

С этим как раз таки все нормально, т.е. штрих-код на бумаге = № заказа в базе.
А задача в том чтобы я отсканировал штрих-код и он автоматически нашелся в базе, а его состояние изменилось бы на "выполнено"
...
Рейтинг: 0 / 0
28.06.2016, 14:31
    #39263857
l-evgene
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
Сканер эмулирует не строку целиком, а последовательное нажатие клавиш с интервалом в 0.2 сек. Поэтому символы сначала надо собрать в кучу. Я сделал так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Public strКлавиатура As String
Public Const strНекорректныйСимвол = "@^*"

Private Sub ПолеФокус_KeyPress(KeyAscii As Integer)                             'обработка нажатия клавиш
Me.TimerInterval = 500
    If KeyAscii = 13 Then
        ВводСерийных                                                          'обработка считанного ШК
        Me.TimerInterval = 0
        Exit Sub
    End If
    If KeyAscii < 127 Then                                                      'Разбираем только символы от 0 до 127
        strКлавиатура = strКлавиатура & Chr(KeyAscii)
    Else
        strКлавиатура = strКлавиатура & strНекорректныйСимвол                   'вместо остальных добавляем НекорректныйСимвол
    End If
End Sub

Private Sub Form_Timer()

'ЛОГИКА РАБОТЫ ТАЙМЕРА:
'При открытии формы                                                             интервал таймера = 0
'После нажатия клавиши и при считывании ШК                                          интервал таймера = 500, он поддерживается, пока считывается ШК или быстро нажимаются клавиши.                                                                

ОбработкаНажатия                                                                        'обработка ручного ввода
Me.TimerInterval = 0
End Sub


К началу сканирования фокус ввода должен быть на поле "ПолеФокус", переменная "strКлавиатура" обнулена.
Процедуры "ВводСерийных" и "ОбработкаНажатия" определяют, что делать со считанным ШК или с буквами введенными с клавиатуры.
...
Рейтинг: 0 / 0
28.06.2016, 20:08
    #39264199
Tarasios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
vmag, в силу того, что drobash просил о программной стороне вопроса, а вы выдали тонну чисто организаторской/ бухгалтерской стороны процесса, то ценность вашего "исчерпывающего ответа" в данном разрезе увы - стремится к нулю. Подтверждением этому является то, что drobash в ответ на ваш спитч буквально повторил свой запрос.
И не считайте, плиз, себя настолько умным, типа другим не понять ваш сарказм и проявленное высокомерие. Ну да ладно, извинения увидел, тема эта закрыта.
Так как drobash сказал, что "есть база с заказами", я понадеялся, что это база достаточно рабочая, и сам drobash имеет достаточный уровень знаний. Потому обрисовал ему общую схему процесса. Как вижу, оказалось этого недостаточно.
drobash, давайте думать вместе, если вопрос ваш ещё актуален и я его правильно понимаю.
Итак, у вас есть база с заказами. Пример базы вы не прикрепили, потому будем оперировать произвольными названиями. Если что - уточняйте.
Дано и задачи:
1. Есть таблица с номерами заказов, скорее всего, кроме номера заказа нужны ещё дата заказа, реквизиты клиента, может быть сумма и так далее. Пусть это будет таблица ТЗаказ. Я там ввёл три записи для образца, с номерами заказов "123", "124", "125".
2. На некой форме (FGlav) есть поле (Поле4, лень было переименовывать), куда вы планируете вводить номер заказа для поиска. Ручками будете вводить, или "пикая сканером" - это самой программе глубоко фиолетово.
3. После ввода номера заказа в это поле программа должна сделать два действия:
а) отобразить в другой части формы реквизиты найденного заказа
б) выполнить дополнительные действия. Так вы указали "к примеру", я так понимаю - это не критично. Но пусть в некоем поле в случае успешного поиска отобразится "Выполнено". Хотя можно просто заставить прогу выдать сообщение, или даже открыть дополнительную форму с любыми словесами )
Смотрите пример. В открывшейся форме жмите "Новый документ".

В моём примере в случае неудачи прога выдаёт сообщение "Заказа с таким номером не найдено", меняет значение статуса на "Не выполнено" и подсвечивает его красным (это уже чисто понты, но так нагляднее :)).
Ежели заказ найден - запись с реквизитами заказа падает в подчинённую таблицу ТПодч согласно номера открытого документа, выдаётся сообщение "Заказ найден", значение статуса меняется на "Выполнено", подсвечивается зелёным.
Ответ устраивает?
...
Рейтинг: 0 / 0
28.06.2016, 22:58
    #39264291
Tarasios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
хотя... если нужно, что статус самого заказа менялся... Опять таки, не видя реального примера вашей базы... Ну пусть в таблице с номерами заказов будет ещё одно поле, "Статус". И в обработку поле4 (в "успешную" часть) втыкните запрос на обновление поля "статус" в таблице заказов, с условием отбора по числу в поле4.
...
Рейтинг: 0 / 0
29.06.2016, 14:06
    #39264679
drobash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
Tarasios, да, в принципе это то что нужно, только надо чтобы "статус" просто менялся на "выполнено" из уже готового поля со списком.
Вот пример: https://yadi.sk/d/nTsyM3HXssiNf
...
Рейтинг: 0 / 0
29.06.2016, 16:54
    #39264867
Tarasios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
drobash,
1. Лень ставить 2007 офис, если не трудно - дайте пример в формате 2003.
2. А какой смысл выбора Статуса именно в поле со списком? Поле со списком нужно, если вы планируете ручками выбирать значение. Но так как вы сами определили, что оно будет ставится автоматом - то надобности в нём не вижу.
3. Если нужен гибридный выбор - то есть автоматом, и ручками - то я в прошлом сообщении (которое было дополнением к основному примеру) рассказал, как сделать. Только вместо простого поля сделайте своё поле со списком, определите набор значений, потом выставьте его на форму, перенастройте пример.
...
Рейтинг: 0 / 0
29.06.2016, 22:34
    #39265050
drobash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
Tarasios,
Я пытался сохранить в старом формате, но access не дал (используются возможности текущего формата).
В Статусе есть несколько значений и он, как правило, стоит "в работе", а при сканировании хочется чтобы он автоматически менялся на "выполнено".
...
Рейтинг: 0 / 0
29.06.2016, 23:46
    #39265079
Tarasios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение записи с помощью сканера штрих-кодов
drobash, при всём моём уважении - я кинул вам рабочую модель, по паре нюансов подробно всё на словах расписал. Если вы Аксес хотя бы полчаса пролистали - то для вас не составит труда воплотить то, о чём вы спрашиваете. Например, что такое запрос на обновление (обновить запись поле "Статус") с критерием отбора (согласно введённого номера заказа), и как его запускать кнопкой или из под VBA (тем более, даже в моём примере есть образцы этому). Там прочитать и разобраться - ну минут 20 от силы. Если по каким то причинам у вас нет времени/желания/возможностей/способностей (нужное подчеркнуть) разобраться в этом простейшем минимуме, то, может быть, вам пока не стоит замахиваться на что то сравнительно серьёзное? Ну или наймите исполнителя.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Изменение записи с помощью сканера штрих-кодов / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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