• Giúp em bẫy lỗi nếu dữ liệu nhập vào đã có!!!
  • Giúp em bẫy lỗi nếu dữ liệu nhập vào đã có!!!

    quan_pc > 26-05-11, 03:28 PM

    Đây là lệnh của nút Thêm mới 1 bảng ghi!! nhưng khi thêm dữ liệu mới thì nó nhận còn thêm 1 dữ liệu đã có rồi( tức trùng dữ liệu giờ thì mình phải làm sao để nó không báo lỗi mà nó đưa ra thông báo là " Du liệu nhập vào đã có hả anh chị"
    ( ở đây em chỉ có 1 khoá chính là MATG mã tác giả nếu mình nhập mã tác giả trong danh mục tác giả bị trùng thì làm cách nào để nó báo lỗi là đã trùng mã tác giả hả anh chị)

    Private Sub nutthem_Click()
    DoCmd.GoToRecord , , acNewRec
    End Sub

    Mong anh chị giúp đỡ em xin cảm ơn anh chị rất là nhiều
  • RE: Giúp em bẫy lỗi nếu dữ liệu nhập vào đã có!!!

    Cafe Via He > 26-05-11, 04:14 PM

    Bạn k upload file của bạn thì mọi người khó giúp bạn đầy đủ nhất. Mình chỉ đưa ví dụ thôi.

    Giả sử form của bạn có RecordSource là tblTacGia, trong đó có texbox tên là txtMaTG có Control Source là MaTG.
    Đại loại câu lệnh nó thế này.
    Mã:
    Private Sub nutthem_Click()
    If Me.txtMaTG = DLookup("MaTG", "tblTacGia", "MaTG='" & Me.txtMaTG & "'") Then
        DoCmd.CancelEvent
        MsgBox "Bi trung ma, nhap ma khac"
    Else
        DoCmd.GoToRecord , , acNewRec
    End If
    End Sub
  • RE: Giúp em bẫy lỗi nếu dữ liệu nhập vào đã có!!!

    quan_pc > 26-05-11, 07:39 PM

    (26-05-11, 04:14 PM)Cafe Via He Đã viết: Bạn k upload file của bạn thì mọi người khó giúp bạn đầy đủ nhất. Mình chỉ đưa ví dụ thôi.

    Giả sử form của bạn có RecordSource là tblTacGia, trong đó có texbox tên là txtMaTG có Control Source là MaTG.
    Đại loại câu lệnh nó thế này.
    Mã:
    Private Sub nutthem_Click()
    If Me.txtMaTG = DLookup("MaTG", "tblTacGia", "MaTG='" & Me.txtMaTG & "'") Then
        DoCmd.CancelEvent
        MsgBox "Bi trung ma, nhap ma khac"
    Else
        DoCmd.GoToRecord , , acNewRec
    End If
    End Sub
    Anh ơi em chưa hiểu ý anh lắm !!! RecordSource là tblTacGia, trong đó có texbox tên là txtMaTG có Control Source là MaTG. là gì!!!
    trong chương trình của em nó như sau:
    [Hình: untitled.jpg]


    Giả sử như trong ô Mã số tác giả là TG02
    Nếu em bấm nút thêm và nhập lại mã độc giả là TG02 thì sẽ bị lỗi anh chỉ em cách bẫy lỗi với!!!Cry_smile
    đây là chế độ thiết kế!!!


    [Hình: untitled.jpg]

    link bài làm http://www.mediafire.com/?g78amt5bmc43lkg (300Kb)
    em xin cảm ơn anh nha!!
  • RE: Giúp em bẫy lỗi nếu dữ liệu nhập vào đã có!!!

    Cafe Via He > 27-05-11, 09:21 AM

    haizzzzz. Cái này ta kiểm tra dữ liệu trùng ở sự kiện MATG_BeforeUpdate khi nhập dữ liệu cho MATG

    Mã:
    Private Sub MATG_BeforeUpdate(Cancel As Integer)
    If Me.MATG = DLookup("MaTG", "TacGia", "MaTG='" & Me.MATG & "'") Then
        Cancel = 1
        MsgBox "Bi trung ma, nhap ma khac"
    End If
    End Sub
  • RE: Giúp em bẫy lỗi nếu dữ liệu nhập vào đã có!!!

    quan_pc > 27-05-11, 08:26 PM

    Anh ơi anh có thể làm cụ thể trong chương trình của em được không!!! cái này em copy đoạn code trên của anh mà sao nó không thực hiện!!! anh làm trên chương trình của em được không?
    link bài làm http://www.mediafire.com/?g78amt5bmc43lkg (300Kb) anh gởi lên diễn đàn lại bài này được không??
    Em cảm ơn anh nhiều nha!!!HeartHeart