2016-04-22 8 views
0

Ich bekomme immer einen Datentyp nicht übereinstimmen, wenn Sie versuchen, eine Suche auszuführen. Ich habe eine Tabelle tWorkOrder und hat eine kurze Textspalte salesOrderNo Number Spalte workOrderNo und Short Text lineKey Ich suche nach dem lineKey Wert in meinem Lookup.Datentyp Mismatch Hilfe MS Access VBA

Dim lineKeyOW, SoNo, WTSo As String 
    SoNo = 0135487 
    WTSo = 2 
    lineKeyOW = Nz(DLookup("lineKey", "tWorkOrder", "salesOrderNo = '" & soNo & "' AND workOrderNo = '" & WTSo & "'"), "NA") 

Antwort

2

Wie dies wird besser

Dim lineKeyOW As String 
Dim SoNo as String 
Dim WTSo As Long 

SoNo = 0135487 
WTSo = 2 
lineKeyOW = Nz(DLookup("lineKey", "tWorkOrder", "salesOrderNo = '" & soNo & "' AND workOrderNo = " & WTSo), "NA") 

Zuerst workOrderNo Spalte Anzahl Datentyp zu sein, sollten Sie nicht umgeben ist es Wert mit '

Dann nie tun:

Dim lineKeyOW, SoNo, WTSo As String 

Bec es ist äquivalent dazu

Dim lineKeyOW As Variant, SoNo As Variant, WTSo As String 

Das ist aus mehreren Gründen falsch.

Wenn Sie wirklich eine Inlinedim Deklaration wollen, sollten Sie

Dim lineKeyOW As String, SoNo As String, WTSo As String 
+0

Sie tun Dank! Ich hatte das Gefühl, dass es etwas mit den "und" zu tun hatte. Ich hatte immer eine harte Zeit mit ihnen. – Kevin

+0

@ Kevin Das wird mit dem Üben kommen. –

+0

Auch danke für die Erklärung über die Erklärung von Variablen, die sehr hilfreich war. – Kevin