jason > 06-11-15, 05:20 PM
(05-11-15, 12:55 AM)tranthanhan1962 Đã viết:Tại vì mình có một điều kiện nữa nên không dùng cách đó, mình sẽ thử lại, nếu không được mình sẽ post bài lên để mọi người hiểu rõ hơn.(04-11-15, 05:26 PM)jason Đã viết: Cảm ơn Bác quan tâm, Bác xem giúp code của mình thử nhé vẫn không được, phải click qua txtbox khác mới lưu được:
Private Sub txtCartonBarcode_AfterUpdate()
Dim DB As Database
Dim RS As Recordset
Set DB = CurrentDb()
Set RS = DB.OpenRecordset("TCartonScan", dbOpenTable)
RS.AddNew
RS.Fields(0) = Me.txtCartonCode
RS.Fields(1) = Me.txtCartonBarcode
'RS.Fields(2) = Me.txtcolor
'RS.Fields(3) = Me.txtbuyer
'RS.Fields(4) = Me.txtqty
'RS.Fields(5) = Me.txtcustdesc
RS.Update
MsgBox "Saved!"
RS.Close
Set DB = Nothing
Me.Query5.Requery
End Sub
thanks
Sau bạn không tạo form có record source là TCartonScan cho đỡ phải xử lý. Mình không biết phần mềm mã vạch của bạn dùng để xử lý cái gì. Kinh nghiệm của mình khi viết mã vạch cho các phần mềm bán hàng (tạp hóa, vàng bạc...) mình vẫn tạo form có record source là table. Thiết đặt textbox có control source MAVACH (mã vạch) có Auto Tab = Yes, Tab Stop = Yes, Tab Index = 0. Viết code cho MAVACH_Exit xử lý các field còn lại (phần mua hàng còn cho nhảy vào ô số lượng chứ bán hàng thì số lượng cứ default value = 1 quét xong nhảy luôn qua record mới). Máy quét mã vạch chẳng qua cũng chỉ là một bàn phím thôi mà
tranthanhan1962 > 07-11-15, 02:06 PM
(06-11-15, 05:20 PM)jason Đã viết:Bạn cứ thiết đặt textbox nhận mã vạch như cách mình nêu trên. Xem mã vạch có bao nhiệu ký tự. Thiết đặt Field Size của nó trong table = số ký tự mã vạch. Event Change của nó có lệnh DoCmd.GoToControl "abc nào đó" hoặc DoCmd.GoToRecord , , acNewRec, thiết đặt Auto Tab = Yes buột con trỏ nhảy ra khỏi textbox nhận mã vạch để thực hiện lệnh Goto... vì textbox đã nhận đủ ký tự, lúc này các event AfterUpdate, Change mới có hiệu lực. Lúc này chỉ cần máy quét mã vạch báo "tissss" là chạy.(05-11-15, 12:55 AM)tranthanhan1962 Đã viết: Sau bạn không tạo form có record source là TCartonScan cho đỡ phải xử lý. Mình không biết phần mềm mã vạch của bạn dùng để xử lý cái gì. Kinh nghiệm của mình khi viết mã vạch cho các phần mềm bán hàng (tạp hóa, vàng bạc...) mình vẫn tạo form có record source là table. Thiết đặt textbox có control source MAVACH (mã vạch) có Auto Tab = Yes, Tab Stop = Yes, Tab Index = 0. Viết code cho MAVACH_Exit xử lý các field còn lại (phần mua hàng còn cho nhảy vào ô số lượng chứ bán hàng thì số lượng cứ default value = 1 quét xong nhảy luôn qua record mới). Máy quét mã vạch chẳng qua cũng chỉ là một bàn phím thôi màTại vì mình có một điều kiện nữa nên không dùng cách đó, mình sẽ thử lại, nếu không được mình sẽ post bài lên để mọi người hiểu rõ hơn.
Rất cảm ơn bạn.
jason > 17-11-15, 09:07 PM
(07-11-15, 02:06 PM)tranthanhan1962 Đã viết:Xin Chào bạn,(06-11-15, 05:20 PM)jason Đã viết:Bạn cứ thiết đặt textbox nhận mã vạch như cách mình nêu trên. Xem mã vạch có bao nhiệu ký tự. Thiết đặt Field Size của nó trong table = số ký tự mã vạch. Event Change của nó có lệnh DoCmd.GoToControl "abc nào đó" hoặc DoCmd.GoToRecord , , acNewRec, thiết đặt Auto Tab = Yes buột con trỏ nhảy ra khỏi textbox nhận mã vạch để thực hiện lệnh Goto... vì textbox đã nhận đủ ký tự, lúc này các event AfterUpdate, Change mới có hiệu lực. Lúc này chỉ cần máy quét mã vạch báo "tissss" là chạy.(05-11-15, 12:55 AM)tranthanhan1962 Đã viết: Sau bạn không tạo form có record source là TCartonScan cho đỡ phải xử lý. Mình không biết phần mềm mã vạch của bạn dùng để xử lý cái gì. Kinh nghiệm của mình khi viết mã vạch cho các phần mềm bán hàng (tạp hóa, vàng bạc...) mình vẫn tạo form có record source là table. Thiết đặt textbox có control source MAVACH (mã vạch) có Auto Tab = Yes, Tab Stop = Yes, Tab Index = 0. Viết code cho MAVACH_Exit xử lý các field còn lại (phần mua hàng còn cho nhảy vào ô số lượng chứ bán hàng thì số lượng cứ default value = 1 quét xong nhảy luôn qua record mới). Máy quét mã vạch chẳng qua cũng chỉ là một bàn phím thôi màTại vì mình có một điều kiện nữa nên không dùng cách đó, mình sẽ thử lại, nếu không được mình sẽ post bài lên để mọi người hiểu rõ hơn.
Rất cảm ơn bạn.
tranthanhan1962 > 18-11-15, 06:45 PM
(17-11-15, 09:07 PM)jason Đã viết: Xin Chào bạn,Thời gian này mình đang bận nhưng cũng tranh thủ tải csdl của bạn xem thử. Nhưng mình không nhận diện được field nào của bạn là barcode. Về nguyên tắc barcode của hàng hóa phải có thống nhất số lượng ký tự cho từng tiêu chuẩn cho hàng hóa (trong khi đó sổ lượng ký tự barcode, số lượng ký tự tiêu chuẩn, rồi vị trí không thống nhất)
mình có làm thử cách của bạn hướng dẫn nhưng vẫn chưa được !
mình up file lên bạn xem giúp mình cái nha: http://www.mediafire.com/download/m6mb7b...anning.mdb
ở file này mình có những vẫn đề sao chưa làm được mong bạn giúp đỡ:
1. khi scan bằng máy scan đọc mã vạch không tự động lưu vào table được, phải click chuột vào txtbox khác mới lưu được.
2. khi chọn New Scan hoặc Continue Scan thì khi scan mã vạch, em muốn cột CartonQty sẽ reset lại ban đầu và tăng dần theo mã CartonCode đã chọn( giống như 1 mã CartonCode có 1,2,3,4... số của CartonQty)
3. khi chọn Continue Scan thì sẽ chọn mã đã scan lở dỡ trước đó và cột CartonQty sẽ tiếp tục tăng (không có reset lại)
rất mong bạn và anh em trong diễn đàn giúp đỡ.
chân thành cảm ơn, nếu được bác nào có dịp lên tây ninh em dẫn đi cafe ạ !
jason > 19-11-15, 10:56 AM
(18-11-15, 06:45 PM)tranthanhan1962 Đã viết: Thời gian này mình đang bận nhưng cũng tranh thủ tải csdl của bạn xem thử. Nhưng mình không nhận diện được field nào của bạn là barcode. Về nguyên tắc barcode của hàng hóa phải có thống nhất số lượng ký tự cho từng tiêu chuẩn cho hàng hóa (trong khi đó sổ lượng ký tự barcode, số lượng ký tự tiêu chuẩn, rồi vị trí không thống nhất)
Ví dụ: 4-05522D-D-4500035081-150-TUMI GERMANY và 6-Z32009004-009-4500064477-70-SAMSONITE LATIN AMERICA.
Nếu sai quy chuẩn thì khó lòng xử lý được theo phương pháp tự động. Nếu barcode do bạn tự xây dựng thì bạn phải ấn định số lượng ký tự lại cho chuẩn. Trên thế giới có các chuẩn như EAN-13 (13 ký tự) EAN-8 (8 ký tự)... Kể cả việt nam cũng có chuẩn EAN-VN 5 số. Ngay mã vạch tên nước cũng có 3 vị trí ký tự. Nếu hàng hóa của bạn nhiều loại với nhiều chuẩn đăng ký barcode khác nhau. Bạn phải tạo các field khác nhau để quản lý số lượng ký tự (nguyên tắc khi máy quét đủ vị trí ký tự thì Auto Tab mới hoạt động)
jason > 20-11-15, 04:31 PM
jason > 21-11-15, 04:57 PM
ongke0711 > 21-11-15, 11:17 PM
jason > 23-11-15, 09:18 AM
(21-11-15, 11:17 PM)ongke0711 Đã viết: Để lưu record sao bạn không làm cái thủ thuật: AfterUpdate cái textbox barcode bạn move con trỏ qua control khác (ví dụ: cmdClose.SetFocus) rồi trả trỏ về txtBarcode.SetFocus
nguyenichtri > 23-11-15, 03:34 PM