나는 액세스 데이터베이스를 가지고 있습니다. 필자는 텍스트 상자가있는 양식을 가져 와서 사용자가 해당 텍스트 상자에 바코드를 스캔하도록합니다 (15-20 자). 텍스트 상자에 코드를 스캔하면 USB HID 스캐너가 잘 작동하지만 일단 코드가 스캔되면 거기에 액세스 할 수 있습니다. OnChange 이벤트가 올바른 방향으로 보입니다. 여기 내 샘플 코드입니다.Access 2016 VBA에서 바코드를 읽는 데 OnChange 이벤트가 가장 적합합니까?
Private Sub Text0_Change()
Debug.Print Me.Text0.Value
Debug.Print Len(Me.Text0.Value)
End Sub
바코드를 스캔 한 후 출력됩니다.
00000000000000000
17
00000000000000000
17
00000000000000000
17
.
.
.
<repeated a total of 17 times>
코드의 각 문자에 대해 OnCurrent가 올바르게 트리거되었다고 가정합니까? 이 메서드를 사용하면 하나만 제외하고 모든 이벤트를 무시하는 코드를 작성해야합니다. 어떤 이벤트를 캡처해야합니까? 첫 번째 변경 이벤트가 항상 전체 코드를 보유합니까? 엄청난 오차가있는 많은 경 사진 소리처럼 들립니다.
내 목표는 코드를 스캔 한 후에 (즉, 사용자가 코드를 스캔 한 후에 입력 또는 버튼을 누르지 않아도 됨) 추가 입력없이 스캔 된 바코드에서 일부 코드를 실행하는 것입니다. 이 함수에 대해 OnChange보다 나은 것이 있습니까? 내 방법론이 틀렸어?
도움을 미리 감사드립니다.
대부분의 스캐너는 스캔 된 코드에 _CrLf_ (줄 바꾸기)를 추가하도록 프로그래밍 할 수 있습니다. – Gustav