Chào các bạn!
Mình tiếp tục chỗ "một số vấn đề" còn bỏ dở trong bài viết trước (bài #9)
1-Vấn đề 1:
-Trước tiên mình giải thích lý do tại sao mình không dùng sự kiện On KeyPress
Nếu dùng On KeyPress ta không code đơn giản như hướng dẫn của MS hay bạn trunghieu được do vướng mắc về Tiếng Việt có dấu và các bộ gõ khác nhau mà sẽ phải code khá vất vả theo kiểu như sau:
Mã:
Select Case KeyAscii
Case ... To .., ... to ...
KeyAscii = 0
Case 97 To 122
KeyAscii = Asc(UCase(Chr(KeyAscii)))
..........
End Select
Nhưng chỗ then chốt không nằm ở vấn đề trên mà là nếu người dùng không nhập trực tiếp từ bàn phím mà copy và paste thì sự kiện On KeyPress sẽ vô tác dụng
2-Vấn đề 2:
Do chủ top chỉ đưa ra dk 3 chữ cái in hoa, không đề cập đến có dấu TV hay không nên mình bỏ qua dk này
Nếu thêm Dk không dấu TV vào thì làm như sau:
-Validation rule (trong bảng hoặc trong thuộc tính của text box ) là:
Mã:
(Len([Text3])=3 And Not Like "*[!a-z]*") ' Hoặc like "???" And Not Like "*[!a-z]*"
Nếu chấp nhận bỏ trống thì thêm Or Is Null
Sau đó tại sự kiện after update của text box bạn code như sau:
Mã:
Private Sub Text3_AfterUpdate()
Me!Text3 = UCase(ConvertToNotSign(Me!Text3))
End Sub
Trong code trên thì:
-Text3 là tên text box
-ConvertToNotSign là Hàm chuyển từ có dấu sang không dấu trong Tiếng Việt Của Mod Xuân Thanh giới thiệu tại link sau:
http://thuthuataccess.com/forum/thread-7061.html
Như vậy cho dù người dùng nhập chữ in hoa hay chữ thường, có dấu hay không có dấu thì đều được chuyển thành In hoa không dấu
Chúc các bạn luôn trẻ khỏe và diễn đàn ngày một phát triển!