• Hỏi về bắt lỗi trong accc
  • Hỏi về bắt lỗi trong accc

    thanlaem > 01-09-16, 01:55 PM

    Hiện tại em có 1 bài tập yêu cầu bắt lỗi khi nhập dữ liệu vào
    không cho phép cấp xăng cho 1 xe 2 lần 1 ngày. bác bào biết giúp em với ạ

    [Hình: Untitledc4c88.png]
  • RE: Hỏi về bắt lỗi trong accc

    zinzin8x > 01-09-16, 05:13 PM

    if ngaycap.value = true and maxang.value = true and solit.value = true then
    msgbox "xe này đã được cấp xăng trong ngày rồi"
    end if

    Đó, góp bạn chút ý tưởng vậy thôi. tùy biến bạn nhé
  • RE: Hỏi về bắt lỗi trong accc

    thanlaem > 01-09-16, 06:30 PM

    (01-09-16, 05:13 PM)zinzin8x Đã viết: if ngaycap.value = true and maxang.value = true and solit.value = true then
    msgbox "xe này đã được cấp xăng trong ngày rồi"
    end if

    Đó, góp bạn chút ý tưởng vậy thôi. tùy biến bạn nhé

    Bạn ơi không được bạn ạ. bắt lỗi không được trung nhau mà bạn. Giúp mình với
  • RE: Hỏi về bắt lỗi trong accc

    ongke0711 > 01-09-16, 07:02 PM

    Cách khác: trong table (source của sub form),  bạn quét chọn 2 truờng là [mã xe] và [Ngày cấp xăng], sau đó click icon Primary Key. Ý nghia: nếu vừa trùng mã xe vừa trùng ngày hệ thống sẽ báo bị trùng dữ liệu. 
    Ở sự kiện Form on Error, bạn sẽ bắt lỗi số 3201 ( hay số khác, tôi quên rồi) để hiện thông báo tiếng Việt là trùng dữ liệu.
  • RE: Hỏi về bắt lỗi trong accc

    thanlaem > 01-09-16, 09:00 PM

    (01-09-16, 07:02 PM)ongke0711 Đã viết: Cách khác: trong table (source của sub form),  bạn quét chọn 2 truờng là [mã xe] và [Ngày cấp xăng], sau đó click icon Primary Key. Ý nghia: nếu vừa trùng mã xe vừa trùng ngày hệ thống sẽ báo bị trùng dữ liệu. 
    Ở sự kiện Form on Error, bạn sẽ bắt lỗi số 3201 ( hay số khác, tôi quên rồi) để hiện thông báo tiếng Việt là trùng dữ liệu.

    Không có sự kiện form in error bạn ạ [Hình: Untitled5f5cf.png]
  • RE: Hỏi về bắt lỗi trong accc

    ongke0711 > 01-09-16, 10:46 PM

    Theo như hình là bạn đang ở Detail section chứ không phải Form nhé.
    Mã PHP:
    Private Sub Form_Error(DataErr As IntegerResponse As Integer)
       Select Case DataErr
           Case 3022
               MsgBox 
    "Xe nay da cap xang roi!"
                  Response acDataErrContinue    ' tat thong bao mac dinh của Access
           Case 2113
               MsgBox "Sai kieu du lieu"
                  Response = acDataErrContinue
           Case Else
                  Response = acDataErrDisplay
       End Select
       
       Me.Undo

    End Sub 
  • RE: Hỏi về bắt lỗi trong accc

    thanlaem > 03-09-16, 08:02 PM

    (01-09-16, 10:46 PM)ongke0711 Đã viết: Theo như hình là bạn đang ở Detail section chứ không phải Form nhé.
    Mã PHP:
    Private Sub Form_Error(DataErr As IntegerResponse As Integer)
       Select Case DataErr
           Case 3022
               MsgBox 
    "Xe nay da cap xang roi!"
                  Response acDataErrContinue    ' tat thong bao mac dinh của Access
           Case 2113
               MsgBox "Sai kieu du lieu"
                  Response = acDataErrContinue
           Case Else
                  Response = acDataErrDisplay
       End Select
       
       Me.Undo

    End Sub 

    Anh ơi có cách nào bắt lỗi được như thế nữa không anh? em thử cách này vẫn không được anh ạ. nó vẫn trả về lỗi 3022
  • RE: Hỏi về bắt lỗi trong accc

    thanlaem > 03-09-16, 09:44 PM

    Mà có cần gọi lại sub ko bạn??
  • RE: Hỏi về bắt lỗi trong accc

    ongke0711 > 04-09-16, 12:17 AM

    (03-09-16, 09:44 PM)thanlaem Đã viết: Mà có cần gọi lại sub ko bạn??

    Không hiểu ý này của bạn.

    Phần code bắt lỗi Form_Error nó nằm trong Sub form chứ ko phải main form.
  • RE: Hỏi về bắt lỗi trong accc

    thanlaem > 04-09-16, 09:15 AM

    Mình làm theo hướng dẫn mà nó vẫn thông báo lỗi 3022 khi bị trùng khoá chính bạn ạ. có các nào khác không bạn??
    [Hình: Untitled2b258.png]