Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Abfrage optimieren

Begonnen von datekk, Oktober 26, 2015, 10:47:49

⏪ vorheriges - nächstes ⏩

datekk

Hi Access Experten,

ich habe eine Abfrage, deren Ausführung ewig dauert... Sicher gibt es hier noch einen Kniff, wie Access dies schneller ausführen könnte... Hier der SQL Code:

SELECT AngebotAuftrag_Inhalte.ID_Verlag, Vertrieb.Nachname, Magazine.Magazintitel, AngebotAuftrag_Inhalte.ID_Ausgabe, AngebotAuftrag_Inhalte.Ausgabe, AngebotAuftrag_Inhalte.Angebotspreis, AngebotAuftrag.Art, Year([ET]) AS Berichtsjahr, Vertrieb.ID_Vertrieb, AngebotAuftrag.Vertragseingang, Kundenliste.Firmenname, Format(Nz(DSum("Angebotspreis","AbfrageDOMSUM","Ausgabe='" & Val([Ausgabe])-1 & "-" & Mid([Ausgabe],6) & "'" & " And Magazinname='" & [Magazintitel] & "'" & " And Vertragseingang<= format(dateadd('yyyy',-1,date()),'yyyy-mm-dd')" & "And ID_Vertrieb=" & [ID_Vertrieb]),0),"Currency") AS UmsatzVJ, Val([Ausgabe])-1 & "-" & Mid([Ausgabe],6) AS AusgabeVJ

FROM (((AngebotAuftrag_Inhalte INNER JOIN Magazine ON AngebotAuftrag_Inhalte.ID_Magazin = Magazine.ID) INNER JOIN AngebotAuftrag ON AngebotAuftrag_Inhalte.AngebotAuftrag_ID = AngebotAuftrag.ID_AngebotAuftrag) INNER JOIN Vertrieb ON AngebotAuftrag.Vertrieb_ID = Vertrieb.ID_Vertrieb) INNER JOIN Kundenliste ON AngebotAuftrag.Kunden_ID = Kundenliste.ID_Kunde

WHERE (((AngebotAuftrag_Inhalte.ID_Verlag)=1) AND ((AngebotAuftrag.Art)="Auftrag") AND ((Vertrieb.ID_Vertrieb)=GetLoginID()));


Ziel dieser Abfrage war es, den tagesgenauen Vorjahresumsatz in der Tabelle mit abzubilden. Im Bericht erscheinen seltsamerweise die berechneten DOMSUMME - Felder schneller als die normalen, nicht berechneten...

Woran liegt das?
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

ebs17

Die Berechnung dieses Feldes scheint Reserven zu haben:
Format(Nz(DSum("Angebotspreis", "AbfrageDOMSUM", "Ausgabe='" & Val([Ausgabe]) - 1 & "-" & Mid([Ausgabe], 6) & "'" & " AND Magazinname='" & [Magazintitel] & "'" & " AND Vertragseingang<= format(dateadd('yyyy',-1,date()),'yyyy-mm-dd')" & "AND ID_Vertrieb=" & [ID_Vertrieb]), 0), "Currency") AS UmsatzVJ
- Abfrageinhalt?
- Datumsformatierung?
- Rumrechnerei an "Ausgabe"

Ansonsten: Gefilterte Felder sind indiziert?
Mit freundlichem Glück Auf!

Eberhard