obiku
Gebruiker
- Lid geworden
- 25 jul 2004
- Berichten
- 60
All,
Ik wil met onderstaande query in een tabel veld TRUE of FALSE zetten.
Deze query wordt uitgevoerd nadat een CSV bestand is ingelezen in de tabel. Het veld ImportOK moet WAAR worden wanneer de gegevens voldoen aan de voorwaardes uit de functie's
Omdat het tonen van alle functie's te veel tekst geeft en onnodig is, geef ik hier de functie voor het controleren van het eerste veld (AWB)
Doordat een waarde aan verschillende eisen moet voldoen, is het niet mogelijk om dit in de query zelf te controleren.
De functie werkt perfect als deze op een normaal tekst input gebruikt word, ook wanneer de tekst input leeg is. Maar zodra ik de functie gebruik om in de WHERE clause te controleren of de waarde voldoet krijg ik continue, zodra een veld leeg is, de onderstaande fout melding:
Ik wil met onderstaande query in een tabel veld TRUE of FALSE zetten.
Code:
UPDATE tblWTS_CD_ImportData SET ImportOK = True
WHERE fValidAWB([AWB]) = TRUE AND fValidHWB([HWB]) = TRUE AND fValidREF([REF]) = TRUE AND
fValidPalletID([PalletID]) = TRUE AND Quantity > 0
Deze query wordt uitgevoerd nadat een CSV bestand is ingelezen in de tabel. Het veld ImportOK moet WAAR worden wanneer de gegevens voldoen aan de voorwaardes uit de functie's
Omdat het tonen van alle functie's te veel tekst geeft en onnodig is, geef ik hier de functie voor het controleren van het eerste veld (AWB)
Code:
Public Function fValidAWB(ByVal AWB As String) As Boolean
On Error GoTo Err_Handler
Dim strValAWB
'Check if AWB contains only 11 digits
If Not IsNull(AWB) And AWB <> "" And my_regexp(AWB, "\b\d{11}\b") = True Then
'Validate AWB
strValAWB = Left(AWB, 10) & CStr(CLng(Mid(AWB, 4, 7)) Mod 7)
If AWB = strValAWB Then
fValidAWB = True
Exit Function
End If
End If
Exit_Handler:
fValidAWB = False
Exit Function
Err_Handler:
Call fLogError(Err.Number, Err.Description, UserNameWindows(), "mdlWTS_Tools", "fValidAWB()", fValidAWB, True)
Resume Exit_Handler
End Function
De functie werkt perfect als deze op een normaal tekst input gebruikt word, ook wanneer de tekst input leeg is. Maar zodra ik de functie gebruik om in de WHERE clause te controleren of de waarde voldoet krijg ik continue, zodra een veld leeg is, de onderstaande fout melding:
Kan iemand een aanwijzing geven hoe dit eventueel op te lossenGegevens komen niet overeen in criteriumexpressie