2011-12-27 2 views
2

버그 일 수 있습니까? 아니면 여기에 smt가 누락 되었습니까?루프 내에서 오류가 발생하면 오류 문이 작동하지 않습니다.

Do While Not somevalue= "" 

sorgu = "INSERT INTO somedb VALUES('" & somevalue & "')" 
On Error GoTo est 
rs.Open sorgu, cnn 

j = j + 1 

est: Loop 

메신저 고유 키 오류가 발생하지만 메시지가 표시되지 않으려면 다음 줄을 다시 시작하고 싶습니다.

On Error이 오류가 발생하면 작동하지 않습니다.

나는 Do While Loop을 사용해야합니다. 오류로 변경하십시오.

오류 메시지가 나타나지 않고이 시점에서 On Error 문이 작동하지 않는 이유는 무엇입니까?

+3

VB6 IDE 메뉴에서 '도구 -> 옵션'일반 탭을 선택하고 '처리되지 않은 오류시 중단'만 설정하십시오. – wqw

+0

당신이 알고있는 것을 알고 기쁘다. –

+0

@Deanna는 제목을 정정 해 주셔서 감사합니다. –

답변

3

예제에 몇 가지 문제점이 있지만 질문에 대답하려면 오류 재개시 다음을 입력하거나 실제 오류 처리기를 추가하고 거기에 err.Number를 확인하고 수행 할 작업을 결정하십시오.

Go 문을 Do 문보다 먼저 이동하는 것이 좋습니다. 루프를 실행할 때마다 On Error 리디렉션을 불필요하게 할당합니다.

On Error GoTo est 
    Do While Not somevalue= "" 

     sorgu = "INSERT INTO somedb VALUES('" & somevalue & "')" 
     rs.Open sorgu, cnn 

     j = j + 1 

    Loop 

est: 
    If err.Number = (unique key error) 
     Resume Next 
    Else 
     MsgBox "An error occurred while inserting records. Error " & CStr(Err.Number) & ", " & Err.Description 
관련 문제