-
So sánh giá trị trong main form
tvn_hut > 13-05-21, 12:15 AM
HI mọi người.
Trong mainfrom mình có 2 Txtbox. 1 cái đã có giá trị sắn ví dụ là 2. Còn 1 cái lấy giá trị đếm được từ subform. Khi số đếm nhày lên 2 thì sẽ báo 1 msgbox là đã đủ số lượng không scan thêm nữa.
Nhưng mình ko biết lấy event nào để nó chạy mã code đó. Đã thử các loại sự kiện rồi mà ko dc. Có cách nào làm dc ko mn -
RE: So sánh giá trị trong main form
ongke0711 > 13-05-21, 08:47 AM
(13-05-21, 12:15 AM)tvn_hut Đã viết: Trong mainfrom mình có 2 Txtbox. 1 cái đã có giá trị sắn ví dụ là 2. Còn 1 cái lấy giá trị đếm được từ subform. Khi số đếm nhày lên 2 thì sẽ báo 1 msgbox là đã đủ số lượng không scan thêm nữa.
Bạn mô tả rõ thêm cái tác vụ này đi.
- Bạn dùng máy scan barcode.
- Mỗi lần scan bạn có thao tác gì để xuống dòng? -
RE: So sánh giá trị trong main form
tvn_hut > 13-05-21, 09:21 AM
(13-05-21, 08:47 AM)ongke0711 Đã viết:
(13-05-21, 12:15 AM)tvn_hut Đã viết: Trong mainfrom mình có 2 Txtbox. 1 cái đã có giá trị sắn ví dụ là 2. Còn 1 cái lấy giá trị đếm được từ subform. Khi số đếm nhày lên 2 thì sẽ báo 1 msgbox là đã đủ số lượng không scan thêm nữa.
Bạn mô tả rõ thêm cái tác vụ này đi.
- Bạn dùng máy scan barcode.
- Mỗi lần scan bạn có thao tác gì để xuống dòng?
Mỗi lần scan xong thì ấn Enter hoặc Tab thôi. Mình cũng ko có ý tưởng nào để con trỏ nhảy xuống đúng ô scan. Vì trên dòng còn có 1 trường là ngày giờ scan nó được tính tự động sau khi ấn Enter hoặc Tab.
Mình đang nghĩ làm công thức để tính toán ngay trên subform. bằng cách sử dụng Dlookup và Dsum để so sánh 2 giá trị. Còn trên mainform chỉ hiển thị thông tin chứ ko biết gán nó sự kiện gì để nó chạy code cả. -
RE: So sánh giá trị trong main form
ongke0711 > 13-05-21, 10:16 AM
(13-05-21, 09:21 AM)tvn_hut Đã viết: Mỗi lần scan xong thì ấn Enter hoặc Tab thôi. Mình cũng ko có ý tưởng nào để con trỏ nhảy xuống đúng ô scan. Vì trên dòng còn có 1 trường là ngày giờ scan nó được tính tự động sau khi ấn Enter hoặc Tab.
Mình đang nghĩ làm công thức để tính toán ngay trên subform. bằng cách sử dụng Dlookup và Dsum để so sánh 2 giá trị. Còn trên mainform chỉ hiển thị thông tin chứ ko biết gán nó sự kiện gì để nó chạy code cả.
Vụ này cũng đơn giản. Chủ yếu thiết lập các thuộc tính cho Textbox nhận Barcode.
1. Để con trỏ nhảy xuống dòng kế tiếp thì:
- Form: vô properties - Other - dòng Cycle thiết lập là "All record".
- Cái trường Ngày bạn thiết lập Enabled: No, Locked: Yes. Mục đích để con trỏ không tự động nhảy qua textbox kế tiếp mà nhảy xuống dòng.
- Textbox nhận barcode: vô properties - Other ->dòng "Enter key Behaviour" chọn "Default"
2. Đếm record:
- Sự kiên On Lost Focus của textbox barcode: Me.Parent.Text1 = Me.Recordset.RecordCount
- Vụ gán ngày giờ tự động cũng dùng sự kiện trên luôn. -
RE: So sánh giá trị trong main form
tvn_hut > 13-05-21, 12:00 PM
(13-05-21, 10:16 AM)ongke0711 Đã viết:
Thank bạn nhiều nhé. Tuy nhiên khi mình làm theo hướng dẫn có 1 cái bất cập như sau. Khi con trỏ nhảy xuống dòng mới mà thấy đã đủ số lượng rồi nó cũng ko hiện. Chỉ khi scan thêm 1 cái nữa nó mới chạy code và hiện thông tin là đã đủ thùng. nhưng thực tế là số lượng lớn hơn qui định. Trong trường hợp này có cách nào để dừng việc scan thêm hay delete dòng vừa scan hay không?(13-05-21, 09:21 AM)tvn_hut Đã viết: Mỗi lần scan xong thì ấn Enter hoặc Tab thôi. Mình cũng ko có ý tưởng nào để con trỏ nhảy xuống đúng ô scan. Vì trên dòng còn có 1 trường là ngày giờ scan nó được tính tự động sau khi ấn Enter hoặc Tab.
Mình đang nghĩ làm công thức để tính toán ngay trên subform. bằng cách sử dụng Dlookup và Dsum để so sánh 2 giá trị. Còn trên mainform chỉ hiển thị thông tin chứ ko biết gán nó sự kiện gì để nó chạy code cả.
Vụ này cũng đơn giản. Chủ yếu thiết lập các thuộc tính cho Textbox nhận Barcode.
1. Để con trỏ nhảy xuống dòng kế tiếp thì:
- Form: vô properties - Other - dòng Cycle thiết lập là "All record".
- Cái trường Ngày bạn thiết lập Enabled: No, Locked: Yes. Mục đích để con trỏ không tự động nhảy qua textbox kế tiếp mà nhảy xuống dòng.
- Textbox nhận barcode: vô properties - Other ->dòng "Enter key Behaviour" chọn "Default"
2. Đếm record:
- Sự kiên On Lost Focus của textbox barcode: Me.Parent.Text1 = Me.Recordset.RecordCount
- Vụ gán ngày giờ tự động cũng dùng sự kiện trên luôn.
Mình sử dụng code đơn giản như sau
Private Sub ID_LostFocus()
If Me.Parent.Qty = Me.Parent.TxtSum Then
MsgBox "Box already is full. Please create new Box"
End If
End Sub -
RE: So sánh giá trị trong main form
ongke0711 > 13-05-21, 12:11 PM
Tôi hướng dẫn những cái xử lý cơ bản khi scan barcode, còn trường hợp đặc thù của bạn thì bạn tinh chỉnh thêm chứ tôi không nắm qui trình thực tế của bạn.
Bạn dùng sự kiện BeforeUpdate để kiểm tra số lượng thử xem. -
RE: So sánh giá trị trong main form
tvn_hut > 13-05-21, 12:51 PM
(13-05-21, 12:11 PM)ongke0711 Đã viết: Tôi hướng dẫn những cái xử lý cơ bản khi scan barcode, còn trường hợp đặc thù của bạn thì bạn tinh chỉnh thêm chứ tôi không nắm qui trình thực tế của bạn.
Bạn dùng sự kiện BeforeUpdate để kiểm tra số lượng thử xem.
Mình làm được rồi bạn. Thêm 1 cái lệnh Undo là OK.