2014-12-15 3 views
-1

Ms 액세스 DB에서 데이터를 읽을 수있는 MS 액세스 폼을 만들고 싶습니다. 액세스 db는 모든 항목이 정수형 인 4000 개의 항목으로 구성된 1 열만 있습니다. 기본적으로 항목 ID입니다. 하나의 텍스트 상자로 모델 대화 상자 양식을 작성하여 항목 ID를 검색했습니다. 조건은 텍스트 상자 양식의 값을 입력하면 테이블 ID를 비교하고 o/p에 현재 ID가 있는지 여부를 알려주는 것입니다. 아래는 동일한 코드를 작성한 것입니다. 문제는 내가 입력 값이 테이블과 일치하면 "런타임 오류 6 - 오버플로"가 발생한다는 것입니다. 잘못된 값에 대한 코드는 정상적으로 작동합니다. 도와주세요 .ASAP. 테이블 이름은 테이블 1이고 열 이름은 Sku입니다.VBA : 런타임 오류 6 오버플로

CODE :

Private Sub Command1_Click() 
    If IsNull(Me.Text2) Then 
    MsgBox " Please Enter the Ske Id ", vbInformaton, "Sku ID Required" 
    Else 
     If IsNull((DLookup("Sku", "Table1", "Sku=Cint(Text2.value)"))) Then 
     MsgBox "not present" 

     Else 
     MsgBox "present " 

     End If 
    End If 
End Sub 
+1

'Text2.value '값이 32767 ('2^15-1')보다 큽니까? 즉, 즉각적인 창으로 가서'? cint (2^15-1)'을 입력하십시오. – Brad

+0

어떻게 Text2에 대한 값을 얻을 수 있습니까? 총 4500 값이 테이블 열에 있습니다. – Zoso619

+0

Brad의 요점에 더하여,'DLookup'을위한 criteria 옵션은''Sku = Cint (Text2.value) '''db 엔진이''Text2.value' '가 무엇인지 알지 못할 것이라고 생각합니다. – HansUp

답변

0

다음은 작동합니다 :

Private Sub Command1_Click() 
If IsNull(Me.Text2) Then 
    MsgBox " Please Enter the Ske Id ", vbInformaton, "Sku ID Required" 
Else 
    If IsNull((DLookup("Sku", "Table1", "Sku = " & me.Text2)) Then 
     MsgBox "not present" 
    Else 
     MsgBox "present " 
    End If 
End If 
End Sub 

을 SKU 텍스트 열 경우, 당신은 내가 작은 따옴표를 제안하고이 작동, 따옴표를 포함해야합니다

If IsNull((DLookup("Sku", "Table1", "Sku = '" & me.Text2 & "'")) Then