- Код: Выделить всё
Dim WithEvents sr As StrokeReader 'Объект будет загружен при открытии формы и удален при ее закрытии
Private Sub Form_Load()
Set sr = CreateObject("STROKESCRIBE.StrokeReaderCtrl.1") 'Загрузка ActiveX
sr.Port = 3 'Проверьте, что номер порта указан верно для вашего ПК!
sr.BaudRate = 9600 'Типичные настройки для сканеров штрихкода: 9600-n-8-1
sr.Parity = NOPARITY
sr.DataBits = 8
sr.StopBits = ONESTOPBIT
sr.DataMode = Text 'Считываемые с порта данные будут представлены в виде строк вместо байтового массива
sr.RecvIntervalTimeout = 100 'Большой межбайтовый таймаут позволяет принимать штрихкод целиком
'внутри одного уведомления от последовательного порта.
'Это упрощает код для обработчика события EVT_DATA от порта.
sr.Connected = True 'Открытие последовательного порта
If sr.Error Then 'Проверка ошибок при открытии порта
MsgBox sr.ErrorDescription
End If
End Sub
Private Sub Form_UnLoad(Cancel As Integer)
Set sr = Nothing 'Выгружаем ActiveX при закрытии формы
End Sub
'Обработчик событий последовательного порта.
'Процесс приема штрихкодов- асинхронный. Нет необходимости постоянно опрашивать порт.
Private Sub sr_CommEvent(ByVal Evt As StrokeReaderLib.Event, _
ByVal data As Variant)
If Evt = EVT_DATA Then 'Приняты данные с последовательного порта
s = Replace(data, Chr(13), "") 'Удаляем <CR><LF>, посылаемые сканером
s = Replace(s, Chr(10), "")
Forms!таблица1.Recordset.FindFirst "Code='" + s + "'" 'Поиск принятого штрихкода в таблице
If Forms!таблица1.Recordset.NoMatch Then 'Если не найдено
MsgBox s + " not found"
End If
End If
End Sub
как сделать чтобы после того как найдена запись в таблице соответствующая s (Forms!таблица1.Recordset.FindFirst "Code='" + s + "'" 'Поиск принятого штрихкода в таблице)
нужно чтобы в другое поле например name вводилось например значение "sergey" и сохранялось там соответственно поле name должно браться из записи найденной выше по параметру code
[Viper] :: Во-первых, пользуйся тэгом CODE для выделения кода. Во-вторых, используй заглавные буквы и пунктуацию.