-
RE: Tự động lưu dữ liệu trên textbox vào table
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à
Rất cảm ơn bạn. -
RE: Tự động lưu dữ liệu trên textbox vào table
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. -
RE: Tự động lưu dữ liệu trên textbox vào table
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.
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 ạ ! -
RE: Tự động lưu dữ liệu trên textbox vào table
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 ạ !
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) -
RE: Tự động lưu dữ liệu trên textbox vào table
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)
Vâng, VD trên của bạn là mã CartonCode(mã thùng) không phải là mã vạch, field mã vạch là CartonBarcode.( và mã vạch mình không giới hạn ký tự vì mã vạch chưa biết được mã vạch là loại nào. mã vạch này do khách hàng cho. Mà mỗi một mã hàng thì có một mã vạch khác nhau ).
mình xin nói rỏ hơn :
khi mình chọn được mã hàng cần scan mình nhấn nút "Select"(ở đây mình có viết code cho lưu vào table khác) nếu mã hàng mới thì nút "New Scan" sẽ được enable -> chọn nút "New Scan" thì txt (CartonBarcode) để nhập mã vạch enable lên ở đây mình sẽ nhập mã vạch và lưu vào table dưới. tương tự nếu mã hàng được chọn đã có scan hàng rồi thì nút " Continue Scan" sẽ được enable .
khi scan mã vạch em muốn tự động lưu vào table: nếu chọn nút " New Scan thì cột CartonQty(auto number) sẽ reset lại và bắt đầu là 1, nếu chọn nút " Continue Scan" thì khi lưu cột CartonQty(auto number) sẽ tiếp tục tăng dần lên.
vấn đề này em đã tìm rất nhiều trên diễn đàn nhưng vẫn chưa được. kiến thức về access quả thật rất ít ỏi chỉ mong được học hỏi thêm hic -
RE: Tự động lưu dữ liệu trên textbox vào table
jason > 20-11-15, 04:31 PM
mong các pro giúp với ạ
thanks all ! -
RE: Tự động lưu dữ liệu trên textbox vào table
jason > 21-11-15, 04:57 PM
-
RE: Tự động lưu dữ liệu trên textbox vào table
ongke0711 > 21-11-15, 11:17 PM
Để 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 -
RE: Tự động lưu dữ liệu trên textbox vào table
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
trước tiên cảm ơn bạn,
mình làm thử rồi nhưng vẫn không được. không biết có vận dụng đúng không nữa. bạn xem giúp nha:
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.Update
RS.Close
Set DB = Nothing
If [Forms]![FScan]![txtCartonBarcode] & " " <> " " Then
Me.txtCartonCode.SetFocus
Me.Query5.Requery
'Me.Form.Requery
Me.txtCartonBarcode = ""
Me.txtCartonBarcode.SetFocus
End If
End Sub -
RE: Tự động lưu dữ liệu trên textbox vào table
nguyenichtri > 23-11-15, 03:34 PM
Theo mình thấy máy scan mã vạch sau khi đọc 1 mã vạch thì phát tiếng tít, tương đương gởi lệnh enter lên máy tính( bạn thấy khi mình cho quét vào Excel hay Word thì con trỏ nhảy xuống dòng ngay sau tiếng tít không). Do vậy bạn chỉ cần tạo 1 nút lệnh, ở event on click bạn cho thực hiện lệnh gì bạn muốn(lưu, go to record...), ở tab other của nút lệnh đó, bạn chọn default=yes là được. Vì khi máy quét tít tức là nút lệnh nhận lệnh thực hiện luôn.
Chúc bạn thành công