Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] Tự động lưu dữ liệu trên textbox vào table
#21
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 ...
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#22
(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.   021
bạn còn cách khác không ?
Chữ ký của jason Học ...học nữa và học mãi 53_53 !

ღღღღღTài sản của jason (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#23
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?
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn jason
#24
(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
Chữ ký của jason Học ...học nữa và học mãi 53_53 !

ღღღღღTài sản của jason (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#25
(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?

mình thử cái On Change rồi vẫn không được luôn . 021
trả lời hỏi thêm: mình học lóm thấy hay hay nên áp dụng luôn . thực ra cũng không hiểu nhiều về code chỉ vận dụng những cái có thể áp dụng thôi, bạn đừng cười nhé  007
Chữ ký của jason Học ...học nữa và học mãi 53_53 !

ღღღღღTài sản của jason (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#26
(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.   021
bạn còn cách khác không ?

Bạn nói rõ là không lưu được cái barcode vừa scan hay không nhảy qua txtbox khác được?
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#27
(23-11-15, 09:04 PM)ongke0711 Đã viết: Bạn nói rõ là không lưu được cái barcode vừa scan hay không nhảy qua txtbox khác được?

mình muốn là lưu barcode vừa scan vào table(mục đích là vậy).
Chữ ký của jason Học ...học nữa và học mãi 53_53 !

ღღღღღTài sản của jason (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#28
(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
Bạn có thể tham khảo file sau nhé, đó là cách mình làm form xuất hàng bằng barcode đó, mình sử dụng query để chép tất cả thong tin lien quan đến barcode(mã hàng, lô SX, số lượng…) được quét  sang để tạo chi tiết phiếu xuất hàng đó bạn.

Link để chép về:
https://www.dropbox.com/s/ckibct0xmdik3y...e.rar?dl=0
Chúc bạn thành công nhé
Chữ ký của nguyenichtri Chia sẻ chân thành là cách thêm kiến thức cho mình và bạn bè.
014
Reply
Những người đã cảm ơn
#29
(24-11-15, 01:43 PM)nguyenichtri Đã viết:
(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
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é
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
Chữ ký của jason Học ...học nữa và học mãi 53_53 !

ღღღღღTài sản của jason (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#30
(24-11-15, 03:09 PM)jason Đã viết:
(24-11-15, 01:43 PM)nguyenichtri Đã viết:
(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
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é
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

Bạn chép file sau về tham khảo nhé:
https://www.dropbox.com/s/ckibct0xmdik3y...e.rar?dl=0
Chữ ký của nguyenichtri Chia sẻ chân thành là cách thêm kiến thức cho mình và bạn bè.
014
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Cách thêm dữ liệu vào form Main_Sub NganNguyen 0 12 11 Giờ trước
Bài mới nhất: NganNguyen
  Tự động hiện Form khi loading hết thời gian ChiMai 1 43 02-12-16, 08:59 PM
Bài mới nhất: ongke0711
  [Help] Cập nhật combobox 2 từ combobox 1 (dữ liệu ở nhiều bảng) votinh.tq 6 199 22-11-16, 11:34 PM
Bài mới nhất: votinh.tq
Photo [Hỏi] Mở Form trên access 2007 báo lỗi jason 5 193 22-11-16, 09:23 AM
Bài mới nhất: jason
  Query hiện lên trên form? feeling 4 164 09-11-16, 09:49 PM
Bài mới nhất: toancvp

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ