Probleem met vergelijking in query

Status
Niet open voor verdere reacties.

MarcovD

Gebruiker
Lid geworden
3 feb 2006
Berichten
109
Hallo,

Ik probeer een recordset te openen waarin ik alleen de records krijg waarvoor geldt dat deze records in twee tabellen voorkomen.
Ik probeer het volgende uit te voeren:
Set rs = db.OpenRecordset("SELECT DISTINCT tblTemp.* FROM tblTemp INNER JOIN tblMutatieGegevens ON ((tblTemp.Veld1 = tblMutatieGegevens.vldtNummerDatum) AND (tblTemp.Veld2 = tblMutatieGegevens.vldOmschrijving) AND (tblTemp.Veld3 = tblMutatieGegevens.vldFactuurNummer) AND (tblTemp.Veld4 = tblMutatieGegevens.vldOntvangen) AND (tblTemp.Veld5 = tblMutatieGegevens.vldBetaald))")

Echter als de velden vldBetaald of vldOntvangen leeg zijn dat geeft de querie aan dat de records niet gelijk zijn, ook al zijn de velden in beide tabellen leeg.
In beide tabellen zijn de velden als "Valuta" gedefineerd.

Is er iemand die weet wat ik hieraan kan doen ?
Moet ik soms een controle op null opnemen ?

Marco.
 
Null <> Null

Null <> Null en "" = ""
Dus wat je moet doen is eventuele null waarden de kop indrukken:
Code:
Set rs = db.OpenRecordset("SELECT DISTINCT tblTemp.* FROM tblTemp INNER JOIN tblMutatieGegevens ON ((nz(tblTemp.Veld1) = nz(tblMutatieGegevens.vldtNummerDatum)) AND (nz(tblTemp.Veld2) = nz(tblMutatieGegevens.vldOmschrijving)) AND  (nz(tblTemp.Veld3) = nz(tblMutatieGegevens.vldFactuurNummer)) AND (nz(tblTemp.Veld4) = nz(tblMutatieGegevens.vldOntvangen)) AND (nz(tblTemp.Veld5) = nz(tblMutatieGegevens.vldBetaald)))")
Het kan zijn dat er haakjes niet goed staan maar ik hoop dat je de bedoeling begrijpt.
Je query kan je nu niet zonder meer openen in design view dat kan nu alleen nog maar in SQL view. Dat kan wel als je je WHERE clause gebruikt i.p.v. een INNER JOIN.

Succes!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan