Code Sự Kiện sau khi ghi dữ liệu bằng súng bắn cos trên userform (1 người xem)

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

Gà Con yêu VBA

Gà VBA - 0856 120 789
Tham gia
10/11/23
Bài viết
112
Được thích
57
Giới tính
Nam
Chào các bác !

Mục đích là em bắn mã code ghi vào textbox Mã SP thì code sự kiện chạy tìm Tên SP, ĐVT tương ứng

Em đang code VBA sự kiện change cho userform gặp 2 vấn đề khi textbox nhận dữ liệu từ súng bắn cos

1. Có nhiều lúc súng bắn cos ghi dữ liệu vào textbox Mã SP rồi mà sự kiện change không được kích hoạt
2. Có những lúc sự kiện change được kích hoạt liên tục vì mã SP có nhiều độ dài ngắn khác nhau, cứ nhận 1 ký tự là sự kiện change lại chạy

mong nhận được góp ý giải đáp của các bác về 2 vấn đề trên ạ

1776186902241.png
 
Textbox trong Userform không có sự kiện AfterUpdate cũng hơi bất tiện nhỉ.
Bạn dùng OnChange và thêm chút tiểu xảo như: kiểm tra độ dài chuỗi rồi mới kích hoạt hàm tìm kiếm.
Ví dụ:
Rich (BB code):
Private Sub txtBarcode_Change()
    Dim sBarcode As String
    sBarcode = Me.txtBarcode.value
    If Len(sBarcode) >= 8 Then ' dung cho barcode 13 luon
        Call TimKiem_HienThi(sBarcode)
    End If
End Sub
 
Upvote 0
thường mấy máy bắn nó cài thêm được 1 ký tự sau cùng , như phím Enter chẳng hạn,
mà khi nhập phím enter thường thì sẽ bắt sự kiện Keydown, check lần thôi !
 
Upvote 0
Textbox trong Userform không có sự kiện AfterUpdate cũng hơi bất tiện nhỉ.
Có mà?

1776229412152.png

Tuy nhiên phải có động tác hoặc sự kiện nhấn Enter hoặc Tab (định nhảy ra khỏi textbox) thì mới xảy ra AfterUpdate. BeforeUpdate và Exit cũng vậy.
 
Upvote 0
Textbox trong Userform không có sự kiện AfterUpdate cũng hơi bất tiện nhỉ.
Bạn dùng OnChange và thêm chút tiểu xảo như: kiểm tra độ dài chuỗi rồi mới kích hoạt hàm tìm kiếm.
Ví dụ:
Rich (BB code):
Private Sub txtBarcode_Change()
    Dim sBarcode As String
    sBarcode = Me.txtBarcode.value
    If Len(sBarcode) >= 8 Then ' dung cho barcode 13 luon
        Call TimKiem_HienThi(sBarcode)
    End If
End Sub
cảm ơn bác
Cách của bác ko giải quyết được vì
Vấn đề 1 : có đôi lúc nó không kích hoạt sự kiện change
Vấn đề 2 : sản phẩm khác nhau thì độ dài len() khác nhau bác ạ
Bài đã được tự động gộp:

thường mấy máy bắn nó cài thêm được 1 ký tự sau cùng , như phím Enter chẳng hạn,
mà khi nhập phím enter thường thì sẽ bắt sự kiện Keydown, check lần thôi !
em hiểu ý bác, bác cho em hỏi cách cài thêm 1 ký tự enter trên súng bắn code với ạ
hiện tại em đang phải chống chế bằng cách cài sự kiện keydown, bắt buộc ấn phím enter mới chạy code, như vậy rất là bất tiện
Bài đã được tự động gộp:

Có mà?

View attachment 311448

Tuy nhiên phải có động tác hoặc sự kiện nhấn Enter hoặc Tab (định nhảy ra khỏi textbox) thì mới xảy ra AfterUpdate. BeforeUpdate và Exit cũng vậy.
thế nó bất tiện lắm bác ạ, bắn 1 đống sản phẩm mà mỗi lần bắn lại lấy tay enter 1 cái thì rất mệt ạ
 
Upvote 0
cảm ơn bác
Cách của bác ko giải quyết được vì
Vấn đề 1 : có đôi lúc nó không kích hoạt sự kiện change
Vấn đề 2 : sản phẩm khác nhau thì độ dài len() khác nhau bác ạ
- Tôi chẳng biết bạn xài máy quét gì chứ tôi dùng cái máy cùi bắp mua 300k bắn ào ào, tìm kiếm tên, giá, tồn kho luôn chứ có phải thao tác gì thêm đâu. Không kích hoạt sự kiện change thì xem lại cái máy quét thử.
- Do tôi ít làm trên Userform nên không để ý là Textbox cũng có thuộc tính AfterUpdate. Nếu đã có thuộc tính này thì quét xong tìm kiếm luôn khỏi phải thêm code kiểm tra độ dài chuỗi.
- Để chuẩn hoá dữ liệu thì cũng nên tạo chuỗi barcode chuẩn cho đồng nhất (EAN8, EAN 13...)
 
Upvote 0
- Tôi chẳng biết bạn xài máy quét gì chứ tôi dùng cái máy cùi bắp mua 300k bắn ào ào, tìm kiếm tên, giá, tồn kho luôn chứ có phải thao tác gì thêm đâu. Không kích hoạt sự kiện change thì xem lại cái máy quét thử.
- Do tôi ít làm trên Userform nên không để ý là Textbox cũng có thuộc tính AfterUpdate. Nếu đã có thuộc tính này thì quét xong tìm kiếm luôn khỏi phải thêm code kiểm tra độ dài chuỗi.
- Để chuẩn hoá dữ liệu thì cũng nên tạo chuỗi barcode chuẩn cho đồng nhất (EAN8, EAN 13...)
- vâng chỗ em thì dùng máy bắn cos nhập hàn ( hóa đơn 12 triệu / cái còn thực tế em ko biết) . Máy bắn cos thì em không thạo và em nghĩ sự kiện là do code mình chứ máy bắn cos chỉ điền giá trị thôi ạ
- thuộc tính afterupdate thì nó sẽ chạy khi hoàn thành update dữ liệu và phải có điều kiện như ấn phím tab chuyển sang ô khác nó mới hoạt động, như vậy thì vẫn mất thao tác cho code nó chạy rất phiền phức bác ạ
- công ty nhập nhiều loại hàng khác nhau, mã code mỗi loại hàng thì do nhà sản xuất làm nên độ dài ngắn len() khác nhau không làm gì đc bác ạ
 
Upvote 0
em hiểu ý bác, bác cho em hỏi cách cài thêm 1 ký tự enter trên súng bắn code với ạ
hiện tại em đang phải chống chế bằng cách cài sự kiện keydown, bắt buộc ấn phím enter mới chạy code, như vậy rất là bất tiện
thường mua máy quét , hãng sẽ có mục hướng dẫn thêm ký tự trong tờ hướng dẫn ák,
nhập cái key của nó là cài đặt thôi
có hãng thì nó cho cái Barcode , quét vào phát là nó hiểu là máy phải thêm dấu enter ,
1776243788996.png

1776243904700.png
 
Upvote 0
Upvote 0
- vâng chỗ em thì dùng máy bắn cos nhập hàn ( hóa đơn 12 triệu / cái còn thực tế em ko biết) . Máy bắn cos thì em không thạo và em nghĩ sự kiện là do code mình chứ máy bắn cos chỉ điền giá trị thôi ạ
- thuộc tính afterupdate thì nó sẽ chạy khi hoàn thành update dữ liệu và phải có điều kiện như ấn phím tab chuyển sang ô khác nó mới hoạt động, như vậy thì vẫn mất thao tác cho code nó chạy rất phiền phức bác ạ
- công ty nhập nhiều loại hàng khác nhau, mã code mỗi loại hàng thì do nhà sản xuất làm nên độ dài ngắn len() khác nhau không làm gì đc bác ạ
Sự kiện AfterUpdate, chạy phà phà..quét rồi tìm kiếm luôn.

 
Upvote 0
Sự kiện AfterUpdate, chạy phà phà..quét rồi tìm kiếm luôn.

nguyên lý sự kiện AfterUpdate là phải có tác động chuyển focus
Ở video bác gửi thì bác phải có tác động gì đó như ấn phím hay kích chuột
Hoặc có thể như bác anhtuanle123 nói là cài đặt từ súng bắn cos thêm ký tự enter
 
Upvote 0
nguyên lý sự kiện AfterUpdate là phải có tác động chuyển focus
Ở video bác gửi thì bác phải có tác động gì đó như ấn phím hay kích chuột
Hoặc có thể như bác anhtuanle123 nói là cài đặt từ súng bắn cos thêm ký tự enter
Không ấn thêm phím gì nhé. Quét rồi nó tự động tìm kiếm luôn. Phim tôi đang để thời gian thực đó, nếu bấm thêm phím thì làm sao nó hiển thị nhanh như vậy.
Còn về súng quét thì tôi không biết súng này bạn đã sử dụng rồi hay mới mua. Nếu mới mua thì phải setup như trong catalog hướng dẫn đi kèm như bạn @anhtuanle123 đã đề cập. Có nhiều chế độ quét xong xuống dòng, đi qua cột kế bên v.v..
 
Lần chỉnh sửa cuối:
Upvote 0
Không ấn thêm phím gì nhé. ...

Bài 3 chỉ cho cách là cài đặt thêm ký tự enter
Bài 4 gợi ý dùng đúng sự kiện
Bài 8 hướng dẫn cụ thể cách cài đặt
Bài 10 minh họa bằng video cụ thể

Mà vẫn không làm theo, xem video còn không tin. Thế thì tốn công bạn Ông Kẹ rồi.
 
Upvote 0
Bài 3 chỉ cho cách là cài đặt thêm ký tự enter
Bài 4 gợi ý dùng đúng sự kiện
Bài 8 hướng dẫn cụ thể cách cài đặt
Bài 10 minh họa bằng video cụ thể

Mà vẫn không làm theo, xem video còn không tin. Thế thì tốn công bạn Ông Kẹ rồi.
em đã trả lời bác anhtuanle123 là em lên công ty mò mẩm rồi ạ, đặc thù công ty bảo mật, hàng toàn bên Hàn , điện thoại vào công ty là tự động khóa camera nên hơi mệt cách cài đặt ạ
Còn các bác bình luận em phải trả lời chứ
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom