-
Thay thế báo lỗi tiếng Anh bằng tiếng Việt
Noname > 15-08-10, 01:25 PM
Thường khi thao tác với Access, bạn hay gặp các câu báo lỗi bằng tiếng Anh, thay vào đó, bạn muốn khi gặp lỗi tương tự thì phải báo bằng tiếng Việt.
Ta làm như sau:
1) Đầu tiên bạn download file AccessAndJetErrors.zip từ :
http://www.access-programmers.co.uk/foru...1055362440
Giải nén và mở file AccessAndJetErrors.mdb, mở table tAccessAndJetErrors bạn sẽ thấy table này có 2 Field : ErrorCode và ErrorString. Table này liệt kê hầu hết các lỗi của Access, Ví dụ : bạn tìm trong table này record có ErrorCode là 2113 sẽ thấy ErrorString chính là câu báo lỗi trên.
2)Như vậy ta đã biết câu báo lỗi trên có errorcode là 2113, bây giờ ta tạo thủ tục trên form :
Code:
Mã:Private Sub Form_Error(DataErr As Integer, Response As Integer)
Const SaiDuLieu = 2113
Const Rong = 2107 ' khai báo hằng này có tính chất minh họa cho select case
Const TaoLao = 1670 ' khai báo hằng này có tính chất minh họa cho select case
Dim strMsg As String
Select Case DataErr
Case SaiDuLieu
Response = acDataErrContinue
strMsg = "Bạn kiểm tra lại dữ liệu nhập. "
MsgBox strMsg, , "Báo lỗi !"
Case Rong
Response = acDataErrContinue
strMsg = "Bạn không được để trống số lượng, đơn giá"
MsgBox strMsg, , "Báo lỗi !"
Case else
Response = acDataErrContinue
strMsg = "Có một lỗi phát sinh "
MsgBox strMsg, , "Báo lỗi !"
End Select
End Sub
Vậy là xong ! -
RE: Thay thế báo lỗi tiếng Anh bằng tiếng Việt
cuongtuyetcz > 18-12-10, 04:34 AM
noname à, mình đã thử làm theo cách của bạn nhưng máy mình vẫn báo lỗi tiếng Anh. Bạn có thể
nêu thêm vài lí do có thể mình sai ở chỗ nào đó không. cám ơn bạn trước. -
RE: Thay thế báo lỗi tiếng Anh bằng tiếng Việt
Noname > 18-12-10, 10:28 AM
(18-12-10, 04:34 AM)cuongtuyetcz Đã viết: noname à, mình đã thử làm theo cách của bạn nhưng máy mình vẫn báo lỗi tiếng Anh. Bạn có thể
nêu thêm vài lí do có thể mình sai ở chỗ nào đó không. cám ơn bạn trước.
Đó là hướng cho bạn chuyển đổi thôi! Vấn đề là lỗi đó xảy ra ở đâu, do đối tượng nào chịu trách nhiệm bắt lỗi. Xảy ra khi bạn thực hiện việc nào? Mã số lỗi?... -
RE: Thay thế báo lỗi tiếng Anh bằng tiếng Việt
cuongtuyetcz > 18-12-10, 04:24 PM
mình xin hỏi bạn là mình có một form sub lồng trong form main. trong form sub có field mã hàng,khi field mã hàng không tìm thấy trong danh mục hàng thì nó báo lỗi (3101 microsoft jet không tìm thấy mã hàng trong danh mục hàng.) vậy theo bạn mình phải bắt lỗi ở đâu hay sự kiện nào để chuyển lỗi tiếng anh sang tiếng việt. Cám ơn bạn -
RE: Thay thế báo lỗi tiếng Anh bằng tiếng Việt
Noname > 18-12-10, 07:02 PM
(18-12-10, 04:24 PM)cuongtuyetcz Đã viết: mình xin hỏi bạn là mình có một form sub lồng trong form main. trong form sub có field mã hàng,khi field mã hàng không tìm thấy trong danh mục hàng thì nó báo lỗi (3101 microsoft jet không tìm thấy mã hàng trong danh mục hàng.) vậy theo bạn mình phải bắt lỗi ở đâu hay sự kiện nào để chuyển lỗi tiếng anh sang tiếng việt. Cám ơn bạn
bạn nhấn cái gì, hay mở form là nó hỏi thế? Có chương trình mẫu post mình xem thử!
Bạn nên dò trong các sự kiện on error ...goto... và đặt msgbox ở đó! -
RE: Thay thế báo lỗi tiếng Anh bằng tiếng Việt
cuongtuyetcz > 19-12-10, 03:59 AM
(18-12-10, 07:02 PM)Noname Đã viết:
(18-12-10, 04:24 PM)cuongtuyetcz Đã viết: mình xin hỏi bạn là mình có một form sub lồng trong form main. trong form sub có field mã hàng,khi field mã hàng không tìm thấy trong danh mục hàng thì nó báo lỗi (3101 microsoft jet không tìm thấy mã hàng trong danh mục hàng.) vậy theo bạn mình phải bắt lỗi ở đâu hay sự kiện nào để chuyển lỗi tiếng anh sang tiếng việt. Cám ơn bạn
bạn nhấn cái gì, hay mở form là nó hỏi thế? Có chương trình mẫu post mình xem thử!
Bạn nên dò trong các sự kiện on error ...goto... và đặt msgbox ở đó!
nó báo lỗi khi mình chọn một mã hàng không có trong danh mục hàng hoá -
RE: Thay thế báo lỗi tiếng Anh bằng tiếng Việt
cuongtuyetcz > 20-12-10, 01:30 AM
(19-12-10, 10:44 AM)Noname Đã viết:
http://www.mediafire.com/?7bbrd0mm2dcl4la(19-12-10, 03:59 AM)cuongtuyetcz Đã viết: nó báo lỗi khi mình chọn một mã hàng không có trong danh mục hàng hoá
Bạn có thể post chương trình (demo thôi) cho mình dễ hình dung không?
đây là file của mình đang tập làm noname ạ .
ở form Fbanhang khi mình nhập một mã hàng o field mahang mã không có trong bảng HANG thì microsoft jet sẽ báo lỗi là không tìm thấy field mahang trong bảng HANG bằng tiếng Anh. mình đã thử học qua cách của bạn nhưng không thành công lên mình đã xoá hết code rồi . vậy mong bạn giúp mình,để mình có thể học hỏi thêm kinh nghiệm của bạn. Cám ơn bạn và mọi người vì qua diễn đàn này mình học đươc rất nhiều về access. -
RE: Thay thế báo lỗi tiếng Anh bằng tiếng Việt
Noname > 20-12-10, 09:25 AM
Lỗi không tìm thấy mã trong bảng liên kết 1-n.
Mã số lỗi: 3101
Để bắt được lỗi này, trong event form error, bạn khai báo, nếu DataErr=3101 thì báo loi bang tieng Viet.
Cụ thể bạn thử copy đoạn code trong sự kiện error của subform Fhangsub
Mã:Private Sub Form_Error(DataErr As Integer, Response As Integer)
Dim strMsg As String
Const noKey = 3101 'khong tim thay mahang trong bang chinh
Select Case DataErr
Case noKey
Response = acDataErrContinue
strMsg = "khong tim thay ma hang trong bang hang hoa"
MsgBox strMsg, , "Baìo lôÞi !"
Case Else
Response = acDataErrContinue
strMsg = "Coì môòt lôÞi phaìt sinh "
MsgBox strMsg, , "Baìo lôÞi !"
End Select
End Sub -
RE: Thay thế báo lỗi tiếng Anh bằng tiếng Việt
cuongtuyetcz > 20-12-10, 07:02 PM
(20-12-10, 09:25 AM)Noname Đã viết: Lỗi không tìm thấy mã trong bảng liên kết 1-n.
Mã số lỗi: 3101
Để bắt được lỗi này, trong event form error, bạn khai báo, nếu DataErr=3101 thì báo loi bang tieng Viet.
Cụ thể bạn thử copy đoạn code trong sự kiện error của subform Fhangsub
Mã:Private Sub Form_Error(DataErr As Integer, Response As Integer)
Dim strMsg As String
Const noKey = 3101 'khong tim thay mahang trong bang chinh
Select Case DataErr
Case noKey
Response = acDataErrContinue
strMsg = "khong tim thay ma hang trong bang hang hoa"
MsgBox strMsg, , "Baìo lôÞi !"
Case Else
Response = acDataErrContinue
strMsg = "Coì môòt lôÞi phaìt sinh "
MsgBox strMsg, , "Baìo lôÞi !"
End Select
End Sub
mình đã làm được cảm ơn bạn.