Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Lỗi] Lỗi code event!
#11
(05-07-16, 10:27 PM)maidinhdan Đã viết: * Chưa chắc code báo lỗi ngay đoạn màu vàng là do đoạn đó đâu nhé bạn .


Để ý phần in tôi In đậm và gạch dưới.
=> Vậy tại sao bạn lại dùm hàm Dcount mà không phải là làm Dlookup.

Như mình đã nói phía trên: sẽ mắc 2 lỗi phía trên.

Làm gì có chuyện gán biến a= msgbox, rồi nếu biến a=1: là thế nào? Giải thích dùm đi.

Rồi mình viết code chuẩn cho, vì thế mình mới yêu cầu bạn phát biểu bằng lời để mình viết cho. Phát biểu lại xem. ( đừng nhìn vào code phát biểu của mình phía trên vì mình chỉ dịch ra từ code của bạn, mà code đó không xài được đâu)

Tại sao tôi phải hỏi đi hỏi lại, dài dòng lê thê với bạn như vậy. Vì nó sẽ giúp bạn nhớ code này mãi mãi.

Em xin giải thích code của em ạ
- Em dùng Dcount vì thực tế là em dịch ra theo "nếu txtThuKho không nằm trong danh sách mã nhân viên", do em nghĩ vậy nên em dùng dcount luôn mà chưa từng nghĩ là có thể dùng dlookup bác ạ,
- Còn vụ a = msgbox, thì em xin thú nhận là em chưa thật hiểu cách dùng msgbox, sau nhiều lần tự ý viết chỉnh thì em làm kiểu này mới thành công, nên cứ lần sau em lại làm kiểu này big green,

Anh hướng dẫn thêm giúp em vụ này nhé.
Chữ ký của toancvp Nếu tất cả đường đời đều trơn láng    
Có thể nào ta nhận ra ta Bat
Reply
Những người đã cảm ơn
#12
(06-07-16, 08:52 AM)zinzin8x Đã viết: http://www.mediafire.com/download/9qpiil...%29.mdbđây mình trả hang cho cậu.
 cậu sai ở chỗ này: Nếu lấy 3 ô textbox mà làm điều kiện check, trong đó textbox có dùng control souce là 1 trường thì không dùng Dcount mà dùng Dlookup như bạn Hân nói.
Còn nếu ko dùng control souce thì bạn cho vào apter update với nội dung như này là OK nhé:
If DCount("[MaNV]", "Tbl_0_NhanVien", "[MaNV]=txtThuKho") = 0 Then
a = MsgBox("Ma nhan vien nay chua duoc dang ky!", vbOKOnly, "THONG BAO")
If a = 1 Then
Me.txtThuKho = Null
End If
End If
Me.Refresh ' dể xóa cái label hiện tên nhân viên nếu mã NV sai
txtKeToanTruong.SetFocus  ' ép nó nhảy đến vị trí khác
Me.txtThuKho.SetFocus  ' kéo nó về với textbox mình cần. 
       Mình đã xem file của bạn lỗi do cả mấy textbox kiểm tra đều dùng có control souce là 1 trường trong table. hãy xóa hết nó đi và làm code như trên là OK nhé.
Đấy là mình ép cho bài đúng theo code của bạn thôi. chứ xài hàm dlookup là chuẩn đẹp trai hơn cả về ý nghĩa cũng như logic hơn bạn nhé.
http://www.mediafire.com/download/9qpiil...NEW%29.mdb

Vâng, em làm được theo cách của bác rồi, nhưng em muốn hỏi thêm, cái control source là nó mang ý nghĩa gì ạ?
Chữ ký của toancvp Nếu tất cả đường đời đều trơn láng    
Có thể nào ta nhận ra ta Bat
Reply
Những người đã cảm ơn
#13
(06-07-16, 09:19 AM)toancvp Đã viết: Em xin giải thích code của em ạ
- Em dùng Dcount vì thực tế là em dịch ra theo "nếu txtThuKho không nằm trong danh sách mã nhân viên", do em nghĩ vậy nên em dùng dcount luôn mà chưa từng nghĩ là có thể dùng dlookup bác ạ,
- Còn vụ a = msgbox, thì em xin thú nhận là em chưa thật hiểu cách dùng msgbox, sau nhiều lần tự ý viết chỉnh thì em làm kiểu này mới thành công, nên cứ lần sau em lại làm kiểu này big green,

Anh hướng dẫn thêm giúp em vụ này nhé.

Đây là code bạn cần nè:
Mã PHP:
Private Sub txtThuKho_AfterUpdate()
If 
DLookup("[MaNV]""[Tbl_0_NhanVien]""[MaNV]='" Me.txtThuKho "'") = Me.txtThuKho Then
Me
.Ten3 DLookup("[TenNV]""[Tbl_0_NhanVien]""[MaNV]='" Me.txtThuKho "'")
Else
MsgBox "Ma nhan vien nay chua duoc dang ky, nhap lai Ma Nhan vien!"vbInformation"Thong bao"
Me.txtThuKho ""
End If
End Sub 

Chú ý:
+ Với đoạn code này bạn vào textbox Ten3 xóa hàm và để ô nó rỗng luôn.
+ Thủ tục Me.txtThuKho.SetFocus không áp dụng được khi bạn đã nhảy đến ô khác, bạn phải bẩy đoạn code này trên ô nào không phải là txtThuKho. Nôm na là không thể tự SetFocus cho chính mình.

Gửi Demo để xem nè.


File đính kèm
.zip   (NEW)_edit.zip (Kích cỡ: 24.41 KB / Tải về: 3)
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn toancvp
#14
(06-07-16, 11:34 AM)maidinhdan Đã viết: Đây là code bạn cần nè:
Mã PHP:
Private Sub txtThuKho_AfterUpdate()
If 
DLookup("[MaNV]""[Tbl_0_NhanVien]""[MaNV]='" Me.txtThuKho "'") = Me.txtThuKho Then
Me
.Ten3 DLookup("[TenNV]""[Tbl_0_NhanVien]""[MaNV]='" Me.txtThuKho "'")
Else
MsgBox "Ma nhan vien nay chua duoc dang ky, nhap lai Ma Nhan vien!"vbInformation"Thong bao"
Me.txtThuKho ""
End If
End Sub 

Chú ý:
+ Với đoạn code này bạn vào textbox Ten3 xóa hàm và để ô nó rỗng luôn.
+ Thủ tục Me.txtThuKho.SetFocus không áp dụng được khi bạn đã nhảy đến ô khác, bạn phải bẩy đoạn code này trên ô nào không phải là txtThuKho. Nôm na là không thể tự SetFocus cho chính mình.

Gửi Demo để xem nè.

Hay quá big green, em nghĩ là em hiểu thêm được nhiều cái rồi bác ạ. Ban đầu em cũng định cho Ten3 vào VBA luôn, nhưng em sợ khi load form để xem nó sẽ ko hiện đc tên ấy ạ. Như thế nếu muốn nó hiện lên phải cho vào event load form hoặc curent form, em sợ làm thế nó sẽ đưa form từ dạng load thành dạng edit, mỗi lần mở form để xem là tương đương sửa form luôn. Em hiểu như thế có đúng ko bác?
Chữ ký của toancvp Nếu tất cả đường đời đều trơn láng    
Có thể nào ta nhận ra ta Bat
Reply
Những người đã cảm ơn
#15
Thôi close topic được rồi. bài toán đã có 2 phương án rồi nhé. Bạn cứ làm như vậy cho các textbox kiểm tra điều kiện khác là được. Còn cái control souce là nạp nguồn dữ liệu có sẵn là 1 trường của table hay query cho các textbox, việc nhập thông tin cho textbox này chính ghi, sửa thông tin cho table đó. Thế nhé close thôi.
Chữ ký của zinzin8x zinzin8x,gia nhập Thủ Thuật Access từ 19-01 -16.
Reply
Những người đã cảm ơn toancvp
#16
(06-07-16, 12:31 PM)zinzin8x Đã viết: Thôi close topic được rồi. bài toán đã có 2 phương án rồi nhé. Bạn cứ làm như vậy cho các textbox kiểm tra điều kiện khác là được. Còn cái control souce là nạp nguồn dữ liệu có sẵn là 1 trường của table hay query cho các textbox, việc nhập thông tin cho textbox này chính ghi, sửa thông tin cho table đó. Thế nhé close thôi.

Vâng ok, em cám ơn mọi người nhiều.
Chữ ký của toancvp Nếu tất cả đường đời đều trơn láng    
Có thể nào ta nhận ra ta Bat
Reply
Những người đã cảm ơn
#17
(06-07-16, 12:13 PM)toancvp Đã viết:
Mã PHP:
Private Sub txtThuKho_AfterUpdate()End Sub 

Hay quá big green, em nghĩ là em hiểu thêm được nhiều cái rồi bác ạ. Ban đầu em cũng định cho Ten3 vào VBA luôn, nhưng em sợ khi load form để xem nó sẽ ko hiện đc tên ấy ạ. Như thế nếu muốn nó hiện lên phải cho vào event load form hoặc curent form, em sợ làm thế nó sẽ đưa form từ dạng load thành dạng edit, mỗi lần mở form để xem là tương đương sửa form luôn. Em hiểu như thế có đúng ko bác?

Đưa vào sự kiện AfterUpdate của txtThuKho ạ.
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn toancvp
#18
(06-07-16, 04:16 PM)maidinhdan Đã viết: Đưa vào sự kiện AfterUpdate của txtThuKho ạ.

Có, em hiểu ý bác mà, nhưng ý em là khi load form ấy ạ, nếu Ten3 mà chỉ có code cho after update của txtThuKho thì lúc form load nó có thể hiện lên ko bác? Mà để em thử xem ạ, hỏi nhiều cái vớ vẩn quá cũng ko nên big green.
Chữ ký của toancvp Nếu tất cả đường đời đều trơn láng    
Có thể nào ta nhận ra ta Bat
Reply
Những người đã cảm ơn
#19
(06-07-16, 06:16 PM)toancvp Đã viết:
(06-07-16, 04:16 PM)maidinhdan Đã viết: Đưa vào sự kiện AfterUpdate của txtThuKho ạ.

Có, em hiểu ý bác mà, nhưng ý em là khi load form ấy ạ, nếu Ten3 mà chỉ có code cho after update của txtThuKho thì lúc form load nó có thể hiện lên ko bác? Mà để em thử xem ạ, hỏi nhiều cái vớ vẩn quá cũng ko nên big green.

Được và chèn vào formLoad được :
Mã PHP:
Private Sub Form_Load()
If 
Me.txtThuKho <> "" Then
Me
.Ten3 = DLookup("[TenNV]", "[Tbl_0_NhanVien]", "[MaNV]='" + Me.txtThuKho + "'")
End if
End Sub 
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn toancvp


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Lỗi khi chạy event hyuwoo 4 325 16-09-16, 10:39 AM
Bài mới nhất: hyuwoo
  [Hỏi] Gõ dấu tiếng Việt trong code cannguyen 2 133 25-05-16, 02:41 PM
Bài mới nhất: cpucloi
  GIẢI THÍCH CÁC LỆNH KHI VIẾT CODE huynhbahoc 3 2,940 26-03-16, 09:19 PM
Bài mới nhất: phuc_thanhtien
  [Hỏi] code thông báo khi không nhập dữ liệu vào textbox khanghychu 13 1,000 01-02-16, 05:31 PM
Bài mới nhất: paulsteigel
  [Hỏi] Viết code để xử lý query cannguyen 16 936 13-11-15, 10:03 AM
Bài mới nhất: cannguyen

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ơ