0
두 가지 조건 ("s"및 "오류")을 사용하여 쿼리에서 "SCount"변수를 채우기 위해 Dlookup을 사용하려고합니다. s는 시프트 수의 정수이고 Error는 문자열입니다. 둘 다 조회의 필드입니다. Dlookup은 데이터 형식의 문자열이어야하는 쿼리를 가져오고 있으며 쿼리는 필드가 문자열 인 테이블에서 가져옵니다. 따라서 왜 불일치 오류가 발생하는지 확신 할 수 없습니다.쿼리에서 문자열을 비교할 때 DLookup 문제가 발생했습니다.
코드를 실행할 때 "런타임 오류 '3464'조건 또는 식의 데이터 형식이 일치하지 않습니다. '오류가 발생합니다. SCount Dlookup에있는 Error
의 경우.
Dim Error As String
Dim i As Integer
Dim s As Integer
Dim n As Integer
Dim SCount As Variant
Dim sum As Double
sum = 0
i = 1
s = 1
n = 1
Do Until i > 5
If Not IsNull(DLookup("[Type of Error]", "RankedSumOfErrors", "[Ranking] = " & i)) Then
Error = DLookup("[Type of Error]", "RankedSumOfErrors", "[Ranking] = " & i)
Me.Controls("lbl" & i & "").Caption = Error
Do Until s > 3
SCount = DLookup("[SumOfNumber of Errors]", "ErrorsByShift", "[Shift] = " & s & " AND [Type of Error] = '" & Error & "'")
Me.Controls("lbls" & s & "").Caption = SCount
i = i + 1
sum = sum + SCount
Loop
Me.Controls("Total" & i & "").Caption = sum
sum = 0
Else
Me.Controls("lbl" & i & "").Caption = "N/A"
i = i + 1
End If
Loop
당신은 변수 이름으로'Error'을 사용하지 말아야합니다 -는 VBA 언어의 일부입니다. – Andre