Ich versuche Dlookup zu verwenden, um einen Wert in einer Abfrage nach zwei Kriterien ("s" und "Fehler") zu suchen, um die Variable "SCount" aufzufüllen. s ist eine Ganzzahl für die Verschiebungsnummer und Error ist eine Zeichenfolge. Beide sind Felder in der Abfrage. Das Dlookup zieht aus einer Abfrage, die Zeichenfolgen für den Datentyp sein sollte, die Abfrage zieht aus einer Tabelle, in der die Felder Zeichenfolgen sind. Ich bin mir also nicht sicher, warum ich einen Fehler bei der Nichtübereinstimmung bekomme.Problem mit DLookup beim Vergleichen von Zeichenfolgen in Abfrage
Wenn ich den Code ausführen, erhalte ich den Fehler "Laufzeitfehler '3464' Datentyp stimmt nicht in Kriterien oder Ausdruck überein". Für die Error
im SCount Dlookup.
-Code
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
Sie sollten nicht verwenden 'Error' als Variablenname - es ist Teil der VBA Sprache. – Andre