Am 17.09.18 um 19:20 schrieb Ulrich Möller:
>> In der Abfrage "abfProjektUebersicht" steckte der Fehler oder ist es
>> ein Bug?
>> Sobald man das left Join durch Inner Join ersetzt geht es durch.
>
> Das ist eher ein Bug in deiner Abfrage als in Access und einen "Left
> Join" durch einen "Inner Join" zu ersetzen ist nicht immer wirklich das
> was man möchte.
> Für eine weitere Analyse bräuchte man ein paar mehr Informationen.
Hier eine Minimal TestDB, wer will:
<
https://lupusdw.de/helpfieles/TestDB.rar>
Ein paar Erklärungen:
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])))) 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;