Подстрока при вставке данных с магнитного сканера в поле ввода MS Access

Я работаю над приложением MS Access для хранения данных клиентов. Все данные хранятся в БД SQL. Одно из полей ввода используется для хранения идентификационного номера карты с магнитной полосой. Вместо того, чтобы набирать длинный номер, я купил USB магнитный сканер. Сканер работает, но после того, как я сканирую карту, он выдает мне номер карты с нежелательным символом в начале и в конце строки, например #1234567890123456789012345-1-1-1#. Как я могу избавиться от дополнительного символа, оставив только 25 символов между 2-м и 26-м символом.


person Altruista    schedule 23.01.2018    source источник


Ответы (1)


Вы можете использовать

strData = Mid(strData,2,25)

после чтения данных.

Также я бы рекомендовал создать процедуру распознавания ввода со сканера. Используйте событие формы Form_KeyPress и начните буферизацию символов, когда первым полученным символом будет #, пока вы не получите последний символ. После этого вы можете установить фокус на поле ввода сканера и отображать только необходимые символы из полученной строки. В этом случае вы можете сканировать данные независимо от текущего фокуса и показывать пользователю только значащие символы. Могу привести пример для обычного лазерного сканера с сервисными кодами AIM (3 служебных символа в начале)

person Sergey S.    schedule 23.01.2018