Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Error function
#1
Chào mọi người, mình muốn hỏi làm thế nào để khi gặp 1 err number mà mình chỉ định thì bỏ qua. Ví dụ:

Mã:
on error goto err

Thoat:
Exit function
Err:
  If err = 100 then
    tiếp tục làm việc ko hiển thị thông báo lổi.
  Else
    MsgBox "Tên Function:" & Err.Number & vbNewLine & Err.Description
    Resume thoat
  end if


Vậy ở cái đoạn tiếp tục làm việc thì viết gì vô đó để bỏ qua khi gặp lỗi có number là 100.
Chữ ký của mrsiro Xin chào, mình là mrsiro, Tham gia http://thuthuataccess.com/forum từ ngày 05-12 -14.
Reply
Những người đã cảm ơn
#2
Thoát lỗi có thể sử dụng On Error GoTo 0 nhé bạn
Chữ ký của duynamvnn1208 duynamvnn1208,gia nhập Thủ Thuật Access từ 25-06 -17.
Reply
Những người đã cảm ơn
#3
- Thường thì nên dùng Select Case Err.Number để bẫy nhiều lỗi tốt hơn dùng If.
- Để xử lý tiếp đoan code kế tiếp khi gặp lỗi thì dùng: Resume Next

Vd: 

On Error Goto ERR_HANDLER
...
Code.. 
...

ERR_HANDLER_EXIT:
       Exit Sub

ERR_HANDLER:
   Select Case Err.Number
       Case 100
             Resume Next
       Case 3021   'Trùng mã
             Msgbox "Nhập trùng mã."
             Code xử lý
             Exit Sub
       Case ....
             .......
       Case Else
             MsgBox "Error " & Err.Number & vbCr & _
                " (" & Err.Description & ") phat sinh trong thu tuc "Luu"."
            Err.Clear
            Resume ERR_HANDLER_EXIT
   End Select
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
Thực ra có rất nhiều lỗi không thể lường trước. Nếu không qua tâm đến các mã lỗi của access có thể dùng một code đơn giản với mã lỗi tào lao cũng được để thực hiện việc gặp lỗi bỏ qua (khó quá bỏ qua  018 )
Mã:
On Error goto Biloi
các lệnh thực hiện công việc
Biloi:
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#5
Cho mình hỏi bắt lỗi trong phần err hay hơn hay bắt lỗi trong đoạn code chính hay hơn.
Ví dụ trong case 3021, thì bắt lỗi theo kiểu trong đoạn code chính Dcount ("manv")>0 chằng hạn, hay nên bắt lỗi ở phần Err.
Chữ ký của mrsiro Xin chào, mình là mrsiro, Tham gia http://thuthuataccess.com/forum từ ngày 05-12 -14.
Reply
Những người đã cảm ơn
#6
(10-10-18, 07:21 PM)mrsiro Đã viết: Cho mình hỏi bắt lỗi trong phần err hay hơn hay bắt lỗi trong đoạn code chính hay hơn.
Ví dụ trong case 3021, thì bắt lỗi theo kiểu trong đoạn code chính Dcount ("manv")>0 chằng hạn, hay nên bắt lỗi ở phần Err.

Bẫy lỗi có nhiều kiểu:
- Bẫy lỗi bằng cách viết code để làm sao cái lỗi đó không phát sinh nữa.
- Có nhưng trường hợp code để xử lý lỗi nằm luôn trong phần ErrHandler.
- Nhưng lỗi không thể khắc phục bằng code thì mới dùng tới bẫy trong On Error...

Trường hợp lỗi 3021: "No current Record" như bạn đề cập thì phải khắc phục ngay trong đoạn code phát sinh lỗi đó luôn chứ không dùng ErrHandler.  
Vd: các hàm DCount, DLookup...nếu không tìm thấy record nào thì sẽ trả về giá trị Null -> khi đó sẽ phát sinh nhiều lỗi như: Invalid Use of Null,...Để bẫy cái lỗi này ban có thể dùng: 
     If Nz(Dcount(....),0)= 0 Then
      Msgbox "Không có dữ liệu"
      Exit Sub
   Else
       'Code xử lý      
   End If
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Vấn đề về form field "String too long" lỗi “Run-time error '4609' vuthaiha90 9 1,934 02-06-17, 10:04 AM
Bài mới nhất: binlaxanh
  [Hỏi] Lỗi run time error 424 phamhung 2 903 11-01-17, 12:10 PM
Bài mới nhất: phamhung
  [Help] lỗi run time error - 2465 Godspear 5 1,343 09-01-17, 11:43 AM
Bài mới nhất: ongke0711
Music [Help] Lỗi Run-time error '13' yang_ying 2 1,228 01-02-15, 08:33 AM
Bài mới nhất: yang_ying
  [Help] Lỗi: Run-time error '3075' Syntax error (missing operator) in query expression uronmapu 8 3,738 25-07-12, 06:25 PM
Bài mới nhất: uronmapu

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line