• Thay thế báo lỗi tiếng Anh bằng tiếng Việt
  • 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

    Noname > 19-12-10, 10:44 AM

    (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?

  • 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:
    (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?
    http://www.mediafire.com/?7bbrd0mm2dcl4la
    đâ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.