Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Datentypenkonflikt in Kriterienausdruck

52 views
Skip to first unread message

Lupus Goebel

unread,
Sep 17, 2018, 5:37:48 AM9/17/18
to
Hallöschen,

ich drehe geade ein wenig durch.

In der Abfrage abfProjektUebersicht erzeuge ich die Spalte "Vorlage" mit
folgendem Ausdruck:
\\\
CDbl(IIf([Vorlage_Jahr]=0,DateSerial(1900,1,0),
DateSerial([Vorlage_Jahr],[Vorlage_Monat],
IIf([Vorlage_Tag]=0,1,[Vorlage_Tag]))))
AS Vorlage
///

Diese Abfrage Läuft:
\\\
SELECT * FROM abfProjektUebersicht
WHERE Vorlage < 43381 Or Vorlage >1;
///

Diese Abfrage gibt eine Fehlermeldung:
Datentypenkonflikt in Kriterienausdruck

\\\
SELECT * FROM abfProjektUebersicht
WHERE [Vorlage] < 43381 And [Vorlage] >1;
///

Auch das bringt die gleiche Fehlermeldung
\\\
SELECT * FROM abfProjektUebersicht
WHERE [Vorlage] > 1;
///

Was läuft hier denn falsch?

--
MfG
Lupus

Ulrich Möller

unread,
Sep 17, 2018, 6:14:52 AM9/17/18
to
Hallo Lupus,
da die Beispiele alle syntaktisch korrekt sind, nehme ich mal an, daß
das die Bezeichnung 'Vorlage' noch an anderer Stelle vorkommt.
Probiere doch mal testhalber , für 'Vorlage' eine andere Bezeichnung zu
wenden.

Ulrich

Karl Donaubauer

unread,
Sep 17, 2018, 6:20:54 AM9/17/18
to
Hallo!

schrieb Lupus Goebel:
> ...
> In der Abfrage abfProjektUebersicht erzeuge ich die Spalte "Vorlage" mit
> folgendem Ausdruck:
>
> CDbl(IIf([Vorlage_Jahr]=0,DateSerial(1900,1,0),
>       DateSerial([Vorlage_Jahr],[Vorlage_Monat],
>                  IIf([Vorlage_Tag]=0,1,[Vorlage_Tag]))))
> AS Vorlage
>
> Diese Abfrage Läuft:
> SELECT * FROM abfProjektUebersicht
> WHERE Vorlage < 43381 Or Vorlage >1;
>
> Diese Abfrage gibt eine Fehlermeldung:
> Datentypenkonflikt in Kriterienausdruck
>
> SELECT * FROM abfProjektUebersicht
> WHERE [Vorlage] < 43381 And [Vorlage] >1;
>
> Auch das bringt die gleiche Fehlermeldung
> SELECT * FROM abfProjektUebersicht
> WHERE [Vorlage] > 1;
> ...

Was kommt denn mit
WHERE [Vorlage] < 43381
?

Oft liegt es an fehlenden Daten, d.h. Null in mind. einem der am
Ausdruck beteiligten Felder. Das könntest du im Ausdruck z.B. mit nz()
um die Feldnamen (oder Parameternamen) abfangen.

Seltsam wäre dann nur, dass die erste Abfrage funktioniert. Ich würde
aber trotzdem mal nach Null-Werten fahnden.

--
Servus
Karl
*********
Access-Entwickler-Konferenz: http://www.donkarl.com/?aek
Access FAQ: http://www.donkarl.com

Lupus Goebel

unread,
Sep 17, 2018, 12:25:35 PM9/17/18
to
Hallöschen,

Am 17.09.18 um 12:14 schrieb Ulrich Möller:
>>
>> Was läuft hier denn falsch?
>
> da die Beispiele alle syntaktisch korrekt sind, nehme ich mal an, daß
> das die Bezeichnung 'Vorlage' noch an anderer Stelle vorkommt.
> Probiere doch mal testhalber , für 'Vorlage' eine andere Bezeichnung zu
> wenden.

In der Abfrage "abfProjektUebersicht" steckte der Fehler oder ist es ein
Bug?
Sobald man das left Join durch Inner Join ersetzt geht es durch.



--
MfG - Lupus Goebel
Der Sumpf- Morasthobbybastler und Anfaenger mit
Wissensdurst (http://www.lupusdw.de http://foto.lupusdw.de)

Lupus Goebel

unread,
Sep 17, 2018, 12:26:00 PM9/17/18
to
Am 17.09.18 um 12:20 schrieb Karl Donaubauer:

> Oft liegt es an fehlenden Daten, d.h. Null in mind. einem der am
> Ausdruck beteiligten Felder. Das könntest du im Ausdruck z.B. mit nz()
> um die Feldnamen (oder Parameternamen) abfangen.
>
> Seltsam wäre dann nur, dass die erste Abfrage funktioniert. Ich würde
> aber trotzdem mal nach Null-Werten fahnden.

Winfried Sonntag

unread,
Sep 17, 2018, 12:33:53 PM9/17/18
to
Am 17.09.2018 schrieb Lupus Goebel:


> Am 17.09.18 um 12:20 schrieb Karl Donaubauer:
>
>> Oft liegt es an fehlenden Daten, d.h. Null in mind. einem der am
>> Ausdruck beteiligten Felder. Das könntest du im Ausdruck z.B. mit nz()
>> um die Feldnamen (oder Parameternamen) abfangen.
>>
>> Seltsam wäre dann nur, dass die erste Abfrage funktioniert. Ich würde
>> aber trotzdem mal nach Null-Werten fahnden.
>
> In der Abfrage "abfProjektUebersicht" steckte der Fehler oder ist es ein
> Bug?
> Sobald man das left Join durch Inner Join ersetzt geht es durch.


Und wie genau sieht die Abfrage aus?


Servus
Winfried
--
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/
Access-FAQ: http://www.donkarl.com/AccessFAQ.htm
Access-Stammtisch: http://www.access-muenchen.de

Ulrich Möller

unread,
Sep 17, 2018, 1:20:17 PM9/17/18
to
Hallo Lupus,

Am 17.09.2018 um 18:25 schrieb Lupus Goebel:
> Am 17.09.18 um 12:14 schrieb Ulrich Möller:
>>>
>>> Was läuft hier denn falsch?
>>
>> da die Beispiele alle syntaktisch korrekt sind, nehme ich mal an, daß
>> das die Bezeichnung 'Vorlage' noch an anderer Stelle vorkommt.
>> Probiere doch mal testhalber , für 'Vorlage' eine andere Bezeichnung
>> zu wenden.
>
> 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.

Ulrich

Lupus Goebel

unread,
Sep 19, 2018, 9:24:23 AM9/19/18
to
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;

Lupus Goebel

unread,
Sep 19, 2018, 9:25:01 AM9/19/18
to
Am 17.09.18 um 18:33 schrieb Winfried Sonntag:

>> In der Abfrage "abfProjektUebersicht" steckte der Fehler oder ist es ein
>> Bug?
>> Sobald man das left Join durch Inner Join ersetzt geht es durch.
>
>
> Und wie genau sieht die Abfrage aus?


Lupus Goebel

unread,
Sep 19, 2018, 10:55:26 AM9/19/18
to
Am 19.09.18 um 15:24 schrieb Lupus Goebel:

> Hier eine Minimal TestDB, wer will:
> <https://lupusdw.de/helpfieles/TestDB.rar>

Da sollte <https://lupusdw.de/helpfiles/TestDB.rar> stehen :)

Lupus Goebel

unread,
Sep 19, 2018, 10:55:44 AM9/19/18
to
Am 19.09.18 um 15:25 schrieb Lupus Goebel:

> Hier eine Minimal TestDB, wer will:
> <https://lupusdw.de/helpfieles/TestDB.rar>

Peter Doering

unread,
Sep 21, 2018, 4:04:40 PM9/21/18
to
Hallo,

Lupus Goebel wrote:

> Am 19.09.18 um 15:25 schrieb Lupus Goebel:
>
> > Hier eine Minimal TestDB, wer will:
> > <https://lupusdw.de/helpfieles/TestDB.rar>
>
> Da sollte <https://lupusdw.de/helpfiles/TestDB.rar> stehen :)

Mit Between 1 And 43381 funktioniert es bei mir.

Gruss - Peter
0 new messages