![]() |
Datenbank: Access • Version: kA • Zugriff über: ADO
Unterschiedliches Verhalten einer Abfrage unter Access / ADO
'loha Folks,
wird untenstehende Abfrage direkt in Access ausgeführt, so wird jeder Datensatz, welcher für die Felder 'BuildingIDShutter1' und 'BuildingIDShutter2' einen anderen Wert als Null enthält, doppelt angezeigt respektive jeder Datensatz mit einem Wert in 'BuildingIDShutter1' oder 'BuildingIDShutter2' wird einzeln aufgelistet, was auch meine Absicht ist. Führe ich dieselbe Abfrage in meiner Applikation über ADO aus, so wird mir jeweils nur ein Datensatz angezeigt, wo eigentlich zwei sein müssten und ich finde nicht heraus weshalb dies so ist. Gibt es unter Umständen eine Option, welche, wenn aktiviert, solch doppelte Datensätze herausfiltert oder etwas in dieser Art? Anbei noch die Abfrage:
SQL-Code:
Grüsse
SELECT *, BuildingIDShutter1 as ShutterBuilding
FROM (Room INNER JOIN (Floor INNER JOIN (DeviceType INNER JOIN (Building INNER JOIN (Application INNER JOIN Device ON [Application].[ApplicationID] =[Device].[ApplicationID]) ON [Building].[BuildingID] =[Device].[BuildingIDShutter1]) ON [DeviceType].[DeviceTypeID] =[Device].[DeviceTypeID]) ON [Floor].[FloorID] =[Device].[FloorIDShutter1]) ON [Room].[RoomID] =[Device].[RoomIDShutter1]) WHERE DeviceType LIKE :DeviceType AND Application LIKE :Application AND Building LIKE :Building AND Floor LIKE :Floor AND Room LIKE :Room AND Active = True AND BuildingIDShutter1 <> NULL ORDER BY Building ASC, Floor ASC, Room ASC, Description ASC; UNION ALL SELECT *, BuildingIDShutter2 as ShutterBuilding FROM (Room INNER JOIN (Floor INNER JOIN (DeviceType INNER JOIN (Building INNER JOIN (Application INNER JOIN Device ON [Application].[ApplicationID] =[Device].[ApplicationID]) ON [Building].[BuildingID] =[Device].[BuildingIDShutter2]) ON [DeviceType].[DeviceTypeID] =[Device].[DeviceTypeID]) ON [Floor].[FloorID] =[Device].[FloorIDShutter2]) ON [Room].[RoomID] =[Device].[RoomIDShutter2]) WHERE DeviceType LIKE :DeviceType AND Application LIKE :Application AND Building LIKE :Building AND Floor LIKE :Floor AND Room LIKE :Room AND Active = True AND BuildingIDShutter2 <> NULL ORDER BY Building ASC, Floor ASC, Room ASC, Description ASC; hirnstroem |
Re: Unterschiedliches Verhalten einer Abfrage unter Access /
Die Sache hat sich erübrigt.
Es ist so, dass ein mehrfaches Vorkommen eines Parameters in Access kein Problem darstellt, über ADO hingegen keine grosse Beachtung findet. Wird ein Parameter mehrmals in der Abfrage verwendet, so muss dieser anscheinend jeweils einen anderen Namen als all die andern haben. Grüsse hirnstroem |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz