-
RE: Tạo Macro để tìm record nếu trùng báo "Đã có" và lưu con trỏ tại ô đang nhập
ngockinh > 07-07-12, 05:27 PM
Bạn Xuân Thanh đâu rồi ráng suy nghĩ giúp mình thêm một chút nữa đi. Mình đã mày mò cả tuần nay rồi mà vẫn không qua nỗi vấn đề này. Ai có cao kiến xin hiến kế. Bạn Xuân Thanh mới làm được một nữa thôi. Nhập mã vào nếu trùng báo "Mã này đã có". Nếu không trùng tự động chấp nhận và chuyển con trỏ qua ô kế tiếp. Nhưng nếu trùng làm sao xóa đi số liệu đã nhập và con trỏ giữ nguyên ở ô Mã CN để cho phép ta nhập một mã mới, không di chuyển qua ô kế tiếp. Xin các bạn chia sẻ giúp đỡ. Chân thành cám ơn.
Ngốc Kinh -
RE: Tạo Macro để tìm record nếu trùng báo "Đã có" và lưu con trỏ tại ô đang nhập
ngockinh > 08-07-12, 10:10 PM
Thế là cuối cùng mình cũng hoàn tất được Macro trên. Xin post lên đây để cả nhà xem xét đánh giá, có gì cần chỉnh sữa xin góp ý. Trước hết xin cám ơn bạn Xuân Thanhđã giúp mình điều kiện của dòng lệnh 1, từ đó mình mới mày mò ra, nếu không có chắc cũng tịt ngòi luôn. Đúng là "chó ngáp phải ruồi"
.
Sau đây là toàn bộ cái Macro, xin trình bày ra để được thỉnh giáo các sư huynh:
Giả sử ta có một Form trên đó có ô Control tên FMACN, dùng để nhập Mã CN, một Table CN có Field TMACN là PK chứa toàn bộ những Mã CN đã nhập trước đó.
Tạo MACRO 1
Dòng 1
1- Condition : Not IsNull (Dlookup(“[FMACN]”,”CN”,”[FMACN]=[TMACN]”))
2- Action : MsgBox
3- Argument :
Message : Mã CN này đã có
Beep : Yes
Type : Warning!
Title : Kiểm Tra Mã CN
Dòng 2
1- Condition : ... (ba chấm)
2- Action : CancelEvent
Dòng 3
1- Action : StopMacro
Gắn MACRO 1 vào ô Control FMACN trên Form. Event: AfterUpdate
Tạo MACRO 2
Dòng 1
1- Condition : Not IsNull (Dlookup(“[FMACN]”,”CN”,”[FMACN]=[TMACN]”))
2- Action : GotoControl
3- Argument : Control Name FMACN
Dòng 2
1- Action : CancelEvent
Dòng 3
1- Condition : IsNull (Dlookup(“[FMACN]”,”CN”,”[FMACN]=[TMACN]”)) (Không có chữ Not)
2- Action : GotoControl
3- Argument : Control Name tên ô Control kế tiếp trên Form
Dòng 4
1- Action : StopMacro
Gắn MACRO 2 vào ô Control kế tiếp trên Form. Event: On Enter
SAVE và RUN -
RE: Tạo Macro để tìm record nếu trùng báo "Đã có" và lưu con trỏ tại ô đang nhập
ngockinh > 09-07-12, 08:13 AM
Link bài tập QLCN trong Access 2003
http://www.mediafire.com/?rsblff38dwb5x7y -
RE: Tạo Macro để tìm record nếu trùng báo "Đã có" và lưu con trỏ tại ô đang nhập
ngockinh > 22-07-12, 08:52 PM
Kiểm tra lại Macro trên bị một lỗi rất quan trọng đó là khi nhập mã mới (không trùng với mã cũ) con trỏ chuyển qua ô control kế tiếp. Và khi nhập tên CN mới nó liền xóa luôn tên công nhân đã có và sữa lại ngay trong table!! Hoặc gán mã mới này cho tên CN cũ. Có cách nào khắc phục lỗi trên không các sư huynh ơi!! -
RE: Tạo Macro để tìm record nếu trùng báo "Đã có" và lưu con trỏ tại ô đang nhập
Xuân Thanh > 23-07-12, 10:06 AM
Nếu trùng thì xóa dữ liệu trong MaCN, giữ con trỏ ở lại textbox này. Nếu không trùng thì chuyển qua control tiếp theo. Gán SetValue cho MaCN = "" để xóa trắng textbox này
Thử xem nhé