Chào mừng đến với Diễn đàn Dân Kế Toán - Kế toán tổng hợp thực tế.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 17
  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    0

    Làm thế nào để chặn thông báo lỗi của Query !

    Các bạn giúp mình với .Khi mình chạy 1 Query nó hiện thông báo lỗi như hình :



    Lỗi này do Query Append phát hiện trùng bản ghi khi append vào bảng khác.
    Có cách nào để chặn thông báo lỗi này,và để nó mặc định chon YES hoặc hiện ra 1 Msg box cho chọn Yes / No không ? Nếu chọn Yes thì nó chạy tiếp tục chạy Query ,No thì huỷ bỏ
    Thanks mọi người !

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Làm thế nào để chặn thông báo lỗi của Query !

    Để tắt thông báo của query, bạn chạy lệnh:
    Docmd.SetWarnings False

    Để bật trở lại:
    Docmd.SetWarnings True

  3. #3
    Ngày tham gia
    Dec 2015
    Bài viết
    0
    Ðề: Làm thế nào để chặn thông báo lỗi của Query !

    Bạn ơi cho mình hỏi chút nhé.Cái dòng lệnh tắt thông báo của bạn thì nó tự động chọn Yes hay No thế.
    Vì mình giả dụ nhé câu lệnh Query này mình append dữ liệu từ Form Khoá Học vào 1 bảng khác.Trên Form có Subform học viên.Sau đó tại Form này mình lại thêm 1 bản ghi học viên nữa.Khi đó mình chạy Query sẽ xuất hiện thông báo như trên. Nếu mình chọn Yes thì 1 bản ghi được thêm đó sẽ được lưu vào bảng.Nhưng nếu chọn No thì bản ghi đó sẽ không được lưu.
    Đó chính là sự khác nhau,nên mình muốn hỏi nó sẽ chon Y hay No hay không cho chạy Q.
    Thanks

  4. #4
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Làm thế nào để chặn thông báo lỗi của Query !

    Thứ nhất mình thấy bạn ko nên tắt câu thông báo lỗi trên vì nó sẽ cho ban biết được việc append của bạn có thành công hay ko và append được bao nhiêu dòng, và trong quá trình append bị những lỗi gì.
    Thứ hai, bạn có thể cho mình biết là bạn muốn làm gì ?

  5. #5
    Ngày tham gia
    Nov 2015
    Bài viết
    4
    Ðề: Làm thế nào để chặn thông báo lỗi của Query !

    Mình cám ơn bạn nhé !
    Chính xác là mình không muốn tắt thông báo đó.
    Vì phần mềm của mình đã gần hoàn thiện,đang bước vào quá trình bẫy lỗi.Mình không muốn hiện thị 1 câu thông báo của Access (vì như thế người dùng bình thường đâu có hiểu mô tê gì đâu ). Mình muốn hiển thị câu thông báo do mình đặt ra và vẫn giữ lại tùy chọn Yes / No của Query có được không ?
    Về cơ bản mình đã thử câu lệnh tắt thông báo Query của bạn Dongnamnb ,nó đã đáp ứng được 1 phần yêu cầu của mình là tắt thông báo và tự động chọn Yes .
    Tuy nhiên nếu bạn biết cách thay câu thông báo trên bằng msgbox Yes/ No thì giúp mình với.
    Thanks rất nhiều

  6. #6
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Làm thế nào để chặn thông báo lỗi của Query !

    bình thường thì mình chặn trong code bằng on error goto.... rồi đưa ra câu thong báo msgbox...
    nhưng mình vẫn chưa biết là bạn muốn làm gì?
    có thể mình sẽ đưa cho bạn giải pháp khác hay hơn. ym: tuongkhanh80@yahoo.com

  7. #7
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Làm thế nào để chặn thông báo lỗi của Query !

    Bạn à !
    Đây là thông báo lỗi của Query thế nên On Error Go to khi Click là vô tác dụng.
    Cũng không thể bắt lỗi sự kiện On Error trên Form được.
    Đơn giản thế này thôi :
    Mình muốn tạo 1 command button( Tên là Lưu Khóa Học) ,khi nhấn vào nút đó nó sẽ thực thi 1 Query Append dữ liệu trên Form vào 1 bảng khác (Dữ liệu này được lưu độc lập để làm tài liệu sau này,nên nó không có mối quan hệ với các bảng khác).
    Form này có trường Tên khóa học và Subform là Tên học viên học khóa đó.
    Và khi mình append xong,mình không muốn dữ liệu trên Form bị xóa đi.
    Nên sẽ xảy ra tình huống,1 ai đó sau này lại nhấn Nút Lưu Khóa Học và tất nhiên sẽ xuất hiện thông báo lỗi trên.

  8. #8
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Ðề: Làm thế nào để chặn thông báo lỗi của Query !

    Trên thực tế thì người ta ko làm như vậy, Họ sẽ tạo 1 form để nhập liệu riêng cho table khóa học.
    Mình có cảm giác bạn đang làm phức tạp hóa vấn đề
    Nếu bạn thật sự vẫn muốn giử cấu trúc đang dùng thì ko nên dùng câu lệnh append mà dùng câu query insert into.... rồi bắt lỗi on error...

    strSQL = "INSERT INTO......"
    DoCmd.RunSQL (strSQL)

  9. #9
    Ngày tham gia
    Dec 2015
    Bài viết
    0
    Ðề: Làm thế nào để chặn thông báo lỗi của Query !

    Uh, thì mình có 1 Form để nhập khoá học riêng và 1 Form nhập thông tin khách hàng.Nhưng mình muốn khi khoá học đó tổ chức xong thì sẽ lưu khoá học đó lại để làm tư liệu sau này.
    Và đương nhiên bảng lưu này sẽ không quan hệ với các bảng khác để đảm bảo dữ liệu không bị thay đổi khi thêm hay xoá từ bảng khác
    Còn câu lệnh thì mình không rõ lắm vì mình chưa học lập trình VB.

  10. #10
    Ngày tham gia
    Aug 2015
    Bài viết
    5
    Ðề: Làm thế nào để chặn thông báo lỗi của Query !

    Thực ra, bạn phải hiểu muốn chặn thông báo khi chạy Query có 2 dạng:
    Dạng 1: Lỗi như bạn miêu tả theo hình chụp là do tính toàn vẹn của dữ liệu. VD bạn đặt khóa chính trong table HOCSINH trong đó có mã MaHS là khóa chính. VD table Hocsinh của bạn đã có mã học sinh là HS002, vây mà bạn lại tiếp tục Append Query để thêm vào những học sinh trong đó cũng có mã là HS002 thì lỗi sẽ xảy ra như hình vẽ
    Dạng 2: Thông báo đối với các Action Query (như Delele, Update, Append..)
    Bạn nên thêm đoạn code sau
    Docmd.set Warning false
    docmd.Open Query
    Docmd.set Warning true

    Chúc bạn thành công!

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •