ongke0711 > 23-11-15, 05:44 PM
jason > 23-11-15, 07:13 PM
(23-11-15, 05:44 PM)ongke0711 Đã viết: Bạn phải move con trỏ qua control khác (hoặc Requery) trước khi chạy cái khối lệnh rs.AddNew, rs.Update.
Thường thì move con trỏ tốt hơn là requery vì có thể sau này còn có nhưng lệnh sau khi hoàn thành một vài tác vụ nào đó trên form mới được requery. Lúc nào cũng requery chương trình có thể chạy sai ý đồ.
Tôi không hiểu câu lệnh này của bạn: If [Forms]![FScan]![txtCartonBarcode] & " " <> " " Then -->??
Bạn muốn : nếu txtCartonBarcode rỗng thì setfocus?
If IsNull([Forms]![FScan]![txtCartonBarcode]) Then ...
ongke0711 > 23-11-15, 08:17 PM
jason > 23-11-15, 08:25 PM
(23-11-15, 03:34 PM)nguyenichtri Đã viết: 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
jason > 23-11-15, 08:46 PM
(23-11-15, 08:17 PM)ongke0711 Đã viết: Mình mới xem lại mấy post trước thì thấy cách của mình không khác nguyên lý của bác tranhthanhan1962, tức là phải tự động di chuyển chuột qua control khác thì cái texbox barcode mới có cái để nó lưu chứ không nó sẽ Null.
Bạn thay = sự kiện on Change đi.
Hỏi thêm: câu lệnh kiểm tra txtCartonBarcode khác rỗng, bạn thêm &" " chi vậy? Không dùng Not IsNull?
ongke0711 > 23-11-15, 09:04 PM
(23-11-15, 07:13 PM)jason Đã viết:(23-11-15, 05:44 PM)ongke0711 Đã viết: Bạn phải move con trỏ qua control khác (hoặc Requery) trước khi chạy cái khối lệnh rs.AddNew, rs.Update.
Thường thì move con trỏ tốt hơn là requery vì có thể sau này còn có nhưng lệnh sau khi hoàn thành một vài tác vụ nào đó trên form mới được requery. Lúc nào cũng requery chương trình có thể chạy sai ý đồ.
Tôi không hiểu câu lệnh này của bạn: If [Forms]![FScan]![txtCartonBarcode] & " " <> " " Then -->??
Bạn muốn : nếu txtCartonBarcode rỗng thì setfocus?
If IsNull([Forms]![FScan]![txtCartonBarcode]) Then ...
không phải . lệnh trên của mình là txtCartonBarcode khác rỗng. nếu khác rỗng thì sẽ thực thi lệnh chuyển con trỏ qua txtbox khác và lưu vào table.
mình đã làm theo gợi ý của bạn là cho di chuyển con trỏ trước khi chạy rs.Addnew, rs.Update nhưng vẫn không di chuyển con trỏ qua txtbox khác được.
bạn còn cách khác không ?
nguyenichtri > 24-11-15, 01:43 PM
(23-11-15, 08:25 PM)jason Đã viết:(23-11-15, 03:34 PM)nguyenichtri Đã viết: 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
Không thành công rồi bạn ơi !
sự kiện đó là phải click vào cmd mới thực thi lệnh, mình muốn bấm scan cái là lưu dử liệu vào table.
cảm ơn bạn
jason > 24-11-15, 03:09 PM
(24-11-15, 01:43 PM)nguyenichtri Đã viết:mình đã viết code cho cmd và chọn yes của tab default nhưng vẫn không được, bạn xem giúp nhé(23-11-15, 08:25 PM)jason Đã viết:(23-11-15, 03:34 PM)nguyenichtri Đã viết: 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
Không thành công rồi bạn ơi !
sự kiện đó là phải click vào cmd mới thực thi lệnh, mình muốn bấm scan cái là lưu dử liệu vào table.
cảm ơn bạn
Bạn không để ý mình nói ở property của cmd=>tab Other=>dòng default => chon Yes. Khi đó, bất cứ khi nào bạn enter(hoặc máy scan tít) thì cmd tự động thực hiện lệnh luôn đó bạn. Bạn xem hình để set cho đúng nhé.
https://lh3.googleusercontent.com/-ItKok...%2Bcmd.png
nguyenichtri > 24-11-15, 03:32 PM
(24-11-15, 03:09 PM)jason Đã viết:(24-11-15, 01:43 PM)nguyenichtri Đã viết:mình đã viết code cho cmd và chọn yes của tab default nhưng vẫn không được, bạn xem giúp nhé(23-11-15, 08:25 PM)jason Đã viết:(23-11-15, 03:34 PM)nguyenichtri Đã viết: 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
Không thành công rồi bạn ơi !
sự kiện đó là phải click vào cmd mới thực thi lệnh, mình muốn bấm scan cái là lưu dử liệu vào table.
cảm ơn bạn
Bạn không để ý mình nói ở property của cmd=>tab Other=>dòng default => chon Yes. Khi đó, bất cứ khi nào bạn enter(hoặc máy scan tít) thì cmd tự động thực hiện lệnh luôn đó bạn. Bạn xem hình để set cho đúng nhé.
https://lh3.googleusercontent.com/-ItKok...%2Bcmd.png
Private Sub cmdt_Click()
Dim DB As Database
Dim RS As Recordset
Set DB = CurrentDb()
Set RS = DB.OpenRecordset("TCartonScan", dbOpenTable)
If [Forms]![FScan]![txtCartonBarcode] & " " <> " " Then
Me.txtCartonCode.SetFocus
RS.AddNew
RS.Fields(0) = Me.txtCartonCode
RS.Fields(1) = Me.txtCartonBarcode
RS.Update
RS.Close
Set DB = Nothing
Me.Query5.Requery
'Me.Form.Requery
Me.txtCartonBarcode = ""
Me.txtCartonBarcode.SetFocus
End If
End Sub