Fehlersuche in Abfrage

07/07/2009 - 15:37 von Thomas_INEOS | Report spam
Hallo,

In meiner A2003 Anwendung habe ich ein Formular samt Unterformular. Im
Hauptformular kann der User in 4 Dropdown-Feldern eine Selektion machen z.b.
einen Geschàftsbereich auswàhlen oder ein Land. Zwingend ist die Auswahl
nicht. Im Unterformular werden dann die Kunden angezeigt und die dazu
gehörenden offenen Rechnungen aufaddiert. Hierzu benutze ich die
Summenfunktion der Abfrage.
Mein Problem: anscheinend funktioniert nur eine Selektion, die anderen
werden ignoriert ?!

So sieht meine Abfrage aus:
SELECT [11_Masterdata].[0101_account], [11_Masterdata].[0102_name],
[11_Masterdata].[0104_country], [11_Masterdata].[0105_POcode],
[11_Masterdata].[0106_location], [11_Masterdata].[0112_risc],
[0113_creditlimit]/usd() AS creditlimit,
Sum([21_documents].[2124_Amtinloccur]) AS Summevon2124_Amtinloccur,
Sum(IIf([21_documents]![2127_Netduedt]<Date(),[21_documents]![2124_Amtinloccur],0))
AS Ausdr1, [11_Masterdata].[0126_chap11], [21_documents].[2145_Busines],
[21_documents].[2146_Sector], [21_documents].[2151_AM], f9809() AS Ausdr2,
f9810() AS Ausdr3, f9811() AS Ausdr4, f9822() AS Ausdr5
FROM 21_documents INNER JOIN 11_Masterdata ON [21_documents].[2105_Account]
= [11_Masterdata].[0101_account]
WHERE ((([21_documents].[2135_Clearing]) Is Null)
AND
((IIf([2145_Busines]=f9809() Or f9809()="*",1,0))=1)
AND
((IIf([2146_sector]=f9810() Or f9810()="_no Selection" Or
(f9810()<>"Polyolefins" And f9810()<>"Olefins"),1,0))=1)
AND
((IIf([2151_am]=f9811() Or f9811()="No selection",1,0))=1)
AND
((IIf([0104_country]=f9822() Or IsNull(f9822()) Or f9822()=" ",1,0))=1))

GROUP BY [11_Masterdata].[0101_account], [11_Masterdata].[0102_name],
[11_Masterdata].[0104_country], [11_Masterdata].[0105_POcode],
[11_Masterdata].[0106_location], [11_Masterdata].[0112_risc],
[0113_creditlimit]/usd(), [11_Masterdata].[0126_chap11],
[21_documents].[2145_Busines], [21_documents].[2146_Sector],
[21_documents].[2151_AM], f9809(), f9810(), f9811(), f9822()
ORDER BY
Sum(IIf([21_documents]![2127_Netduedt]<Date(),[21_documents]![2124_Amtinloccur],0)) DESC;

Fàllt hierzu jemandem etwas ein?

Viele Grüße

Thomas Friederich
 

Lesen sie die antworten

#1 Mark Doerbandt
07/07/2009 - 16:13 | Warnen spam
Hallo, Thomas,

Thomas_INEOS:

Mein Problem: anscheinend funktioniert nur eine Selektion, die anderen
werden ignoriert ?!

So sieht meine Abfrage aus:
SELECT [11_Masterdata].[0101_account], [11_Masterdata].[0102_name],
[11_Masterdata].[0104_country], [11_Masterdata].[0105_POcode],
[11_Masterdata].[0106_location], [11_Masterdata].[0112_risc],
[0113_creditlimit]/usd() AS creditlimit,
Sum([21_documents].[2124_Amtinloccur]) AS Summevon2124_Amtinloccur,
Sum(IIf([21_documents]![2127_Netduedt]<Date(),[21_documents]![2124_Amtinloccur],0))
AS Ausdr1, [11_Masterdata].[0126_chap11], [21_documents].[2145_Busines],
[21_documents].[2146_Sector], [21_documents].[2151_AM], f9809() AS Ausdr2,
f9810() AS Ausdr3, f9811() AS Ausdr4, f9822() AS Ausdr5
FROM 21_documents INNER JOIN 11_Masterdata ON [21_documents].[2105_Account]
= [11_Masterdata].[0101_account]
WHERE ((([21_documents].[2135_Clearing]) Is Null)
AND
((IIf([2145_Busines]ù809() Or f9809()="*",1,0))=1)
AND
((IIf([2146_sector]ù810() Or f9810()="_no Selection" Or
(f9810()<>"Polyolefins" And f9810()<>"Olefins"),1,0))=1)
AND
((IIf([2151_am]ù811() Or f9811()="No selection",1,0))=1)
AND
((IIf([0104_country]ù822() Or IsNull(f9822()) Or f9822()=" ",1,0))=1))

GROUP BY [11_Masterdata].[0101_account], [11_Masterdata].[0102_name],
[11_Masterdata].[0104_country], [11_Masterdata].[0105_POcode],
[11_Masterdata].[0106_location], [11_Masterdata].[0112_risc],
[0113_creditlimit]/usd(), [11_Masterdata].[0126_chap11],
[21_documents].[2145_Busines], [21_documents].[2146_Sector],
[21_documents].[2151_AM], f9809(), f9810(), f9811(), f9822()
ORDER BY
Sum(IIf([21_documents]![2127_Netduedt]<Date(),[21_documents]![2124_Amtinloccur],0)) DESC;



koenntest Du Deinen SQL-Code durch a) Verwendung von ALIASEN und b)
übersichtlichere Formatierung etwas lesbarer gestalten? Danke.

Gruss - Mark

Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beitràge senden.

Ähnliche fragen