Lupusverlach

Noch eine Seite die keiner braucht

Datentypenkonflikt in Kriterienausdruck

Zu meiner Anfrage in einem Forum: https://www.ms-office-forum.net/forum/showthread.php?t=354446

Musterdatei: https://lupusdw.de/help/TestDB.rar

In der Abfrage abfProjektUebersicht erzeuge ich die Spalte Vorlage mit folgendem Ausdruck:

Code:
CDbl(IIf([Vorlage_Jahr]=0,DateSerial(1900,1,0),
      DateSerial([Vorlage_Jahr],[Vorlage_Monat],
                 IIf([Vorlage_Tag]=0,1,[Vorlage_Tag][/efn_note][/efn_note]
AS Vorlage

Diese Abfrage Läuft:

Code:
SELECT * FROM abfProjektUebersicht WHERE Vorlage < 43381 Or Vorlage >1;

Diese Abfrage gibt eine Fehlermeldung: Datentypenkonflikt in Kriterienausdruck

Code:
SELECT * FROM abfProjektUebersicht WHERE [Vorlage] < 43381 And [Vorlage] >1;

Auch das bringt die gleiche Fehlermeldung

Code:
SELECT * FROM abfProjektUebersicht WHERE [Vorlage] > 1;

Was läuft hier denn falsch?


Das Datum für eine Wiedervorlage wurde auf 3 Spalten verteilt. Der Grund, eine Wiedervorlage kann auch einfach irgendwann im Monat sein. Dann bekommt der Tag die Null. Hat bisher her reibungslos funktioniert. Wenn es hier eine andre Lösung gibt, her damit.

Das Kriterium < 43381 Or >1 ist Nonsens, ja das weiß ich.
Das Kriterium < 43381 and >1 ist das was ich benötige, aber dies hat mir ja die Fehlermeldung gebracht. Das Or hatte ich einfach mal so eingetragen, ergibt kein Sinn, aber es gab ja auch keine Fehlermeldung dann. Was mich ja dann auch verwirrte.

Das CDbl(irgendwas) war eher ein Unfall, war mal gedacht zum testen damit ich sehen konnte welche Ganzzahl sich bei dem Datum ergibt. Vergessen raus zu machen.

Minimalmuster-Abfrage sieht nun so aus und es läuft:

Code:
SELECT 
          (IIf([Vorlage_Jahr]=0,0,DateSerial([Vorlage_Jahr],[Vorlage_Monat],
             IIf([Vorlage_Tag]=0,1,[Vorlage_Tag][/efn_note][/efn_note] AS Vorlage, 
       tblProjekte.AuftragsNr, 
       tblProjekte.Vorlage_Tag, 
       tblProjekte.Vorlage_Monat, 
       tblProjekte.Vorlage_Jahr, 
       tblProjekte.VertreterNr, 
       tblKunden.Kundennummer, 
       Max(tblKontakte.Kontakt) AS MaxvonKontakt
FROM 
       (tblKunden INNER JOIN tblProjekte ON tblKunden.ID = tblProjekte.IDProjekt) 
       LEFT JOIN tblKontakte ON tblProjekte.AuftragsNr = tblKontakte.IDKontakte
GROUP BY 
       tblProjekte.AuftragsNr, 
       tblProjekte.Vorlage_Tag, 
       tblProjekte.Vorlage_Monat, 
       tblProjekte.Vorlage_Jahr, 
       tblProjekte.VertreterNr, 
       tblKunden.Kundennummer;