Рейтинг:
1
Ralf Meier
Что вам нужно сделать, это :
- дайте вашему Textbox1 Фокус при загрузке формы-переопределите OnFormLoad-метод или используйте FormLoad-событие с вашим собственным методом
- если текст в Textbox1 изменен, дайте фокус Textbox2 - используйте Textbox1. TextChanged-событие с вашим собственным методом. В этом методе вы также можете проверить, является ли ввод допустимым, прежде чем переключиться на Textbox2
- если текст в Textbox2 изменен, дайте фокус Textbox3 - используйте Textbox2. TextChanged-событие с вашим собственным методом. В этом методе вы также можете проверить, является ли ввод допустимым, прежде чем переключиться на Textbox3
- и так далее
- в методе Textbox6_TextChanged вы проверяете, все ли входные данные верны, а затем сохраняете эти данные.
Member 10804809
Я попробовал этот метод в событии textbox changed, но он не переключился на textbox2
Private Sub A1TextBox_TextChanged(ByVal sender As System.Объект, бывал е как система.EventArgs) Обрабатывает A1TextBox. TextChanged
Если A1TextBox.Текст.Метода endswith(vbCrLf) тогда
Меня.SelectNextControl(A1TextBox, Правда, Истина, Ложь, Ложь)
Конец, Если
Конец Подводной Лодки
Ralf Meier
ОК... это тоже возможный путь.
Вы уверены, что ваш текст в A1Textbox действительно заканчивается на CR-LF ...? Вы проверили это с помощью отладчика ?
Не каждый сканер штрих-кода автоматически добавляет CR-LF в конце своей строки сканирования - обычно он должен быть установлен для каждого параметра...
Member 10804809
Каждое текстовое поле содержит номер, например 12345
Как я могу изменить свой код (vbCrLf)?
Member 10804809
Я получил одну подсказку, чтобы добавить клавишу Tab в конце сканирования.
Как добавить клавишу Tab в конце сканирования?
Я перешел по этой ссылке: https://www.experts-exchange.com/questions/28391135/Scanned-Barcode-to-Visual-Basic-Textboxes-Change-Textbox-Focus-with-Javascript.html
Ralf Meier
Медленный... медленный...
Проблема не в вашем VB-коде. Этот код работает так, как вы его разместили. Если вы удалите если-запроса, а затем выберите следующий элемент управления с помощью свойства tabindex, которое больше, чем один из A1Textbox.
Это означает, что IF-Request работает плохо - эта часть нуждается в CR-LF в конце сканируемой строки. И даже это является частью функциональности сканера-не из вашего кода. Так что, возможно, где-то в настройках Вашего сканера есть возможность добавить CR или LF или CR-LF к сканируемой строке. Если ваш сканер не поддерживает это, у вас есть еще одна возможность : проверьте, имеет ли текст в A1Textbox требуемую длину - я полагаю, что вы всегда сканируете один и тот же тип (и тип содержимого) штрих-кода ...
Member 10804809
Другое решение-вставить этот код, но нет. в текстовом поле всегда одно и то же-
Если A1TextBox. Text. Length = 8, То
A2TextBox.Сосредоточить()
Конец, Если
Ralf Meier
Я не понимаю вашего последнего ответа ... Что ты имеешь в виду? Разве это не работает ?
Действительно ли длина текста в A1Textbox равна 8 ? Вы проверили это с помощью отладчика ?
Member 10804809
Длина текста в текстовом поле может быть 5, 6, 7 или 8.
Итак, предположим, что у меня есть A-7 символов и B-8 символов.
Так что если я сохраню его длину 7 символов то он захватит 7 из A и 1 из B с оставшимися 7 в следующем текстовом поле
Другое дело, как я могу узнать, имеет ли сканер CR или LF или CR-LF?
Ralf Meier
... таким образом, вы должны проверить, является ли длина сканирования >=5
Для сканера вам следует заглянуть в руководство по сканеру (если оно у вас есть). Нет никакого общего способа-каждый сканер уникален ...
Member 10804809
Мой сканер упомянул на нем: "Лазерная версия соответствует 21CFR"
Кажется ли это каким-то образом связанным с кодом?
Когда я сканирую штрих-код с помощью этого сканера в Excel, он автоматически перемещается в следующую строку.
Ralf Meier
Так что это означает, что приходит нечто большее.
Но это может быть CR-LF или только CR или только LF - все возможно.
Если вы хотите быть уверены, что вам следует посмотреть, какой строковый контент у вас действительно есть, я не могу сделать это за вас. Но отладчик мог бы помочь вам в этом ... возможно ,вы попробуете...
Member 10804809
Наконец я сделал этот шаг.
Я сделал длину символа textbox равной 7, так как каждый штрих-код содержит 7 символов, и я поместил этот код в событие TextChanged.
Если A1TextBox. Text. Length = 7, То
A2TextBox.Сосредоточить()
Конец, Если
Так что в настоящее время нет проблем, если только символы штрих-кода не будут изменены.