Es gibt noch weitere Optimierungsmöglichkeiten.
Deine Abfrage mit SELECT * FROM ... ist schlecht, da so alle Felder aus allen Tabellen gezogen werden.
Viele Felder sind dann doppelt vorhanden.
Besser so:
SELECT Device.*, Building.Adress, ... FROM
Das *-chen darf man nur einmal auf eine Tabelle anwenden.
Alle anderen Felder sollten voll qualifiziert angegeben werden.
Je weniger Daten du abrufst umso schneller die Abfrage.
Und bei
Access ist CursorLocation = clUseServer schneller als clUseClient.