Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Bezug auf andere Zeile nehmen

Begonnen von Endling, Juni 25, 2018, 08:17:54

⏪ vorheriges - nächstes ⏩

Endling

Vielen Dank für Eure Geduld mit mir, ich werde beide Ansätze direkt ausprobieren   ;D

Endling

Okay,
die Lösung von Franz funktioniert zwar effektiv, habe aber nun das Problem, dass die Abfrage unfassbar langsam/ruckelig wird, sobald ich in den Bereich mit der neuen Spalte komme.

Es sei dabei gesagt, dass ich bei meinem konkreten Fall 3 Bedingungen in den DomWert einbaue, und die Abfrage insgesamt 25.000 Einträge hat.

Kann es daran liegen, dass ein Fehler in dem Quellcode bei mir ist, obwohl er mir keine Fehlermeldung ausspuckt, ober liegt es an der DomWert-Funktion, die schlicht viel Rechenkapazität benötigt?

DF6GL

Hallo,

es liegt wie eingangs schon erwähnt, an der Performance der Dlookup()-Funktion und eine Unterabfrage sollte effektiver arbeiten. Die habe ich beispielhaft genannt, weil kein SQL gewünscht war.



Mit Unterabfrage sieht es so aus:


Ausgabe: (select Bestand from abf_DeineAbfrage as A where A.Bauteilnummer= " & [Bauteilnummer] & " and A.Standort="A")  / Bedarf


Es sollte etwas schneller sein.


Ein weitere Möglichkeit bestünde darin, die Abfrage (warum eigentlich Abfrage?.. Gibt es keine Tabelle, die diese Felder beinhaltet?) im Abfrageentwurf zweimal hinzuzufügen und über die Felder Bauteilnummer und Standort zu verknüpfen und bei der zweiten Abfrage auf Standort "A" zu beziehen.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Lachtaube

Mit Dom-Funktionen und Unterabfragen, die Skalare (Einzelwerte) ausgeben sollte man spärlich und bedacht umgehen. Auf jeden Fall sollten die Felder, die in Bedingungen vorkommen, einen Index aufweisen. Und ob man 25000 Datensätze auf einmal in der Ausgabe benötigt, sollte man sich auch gut überlegen.
Grüße von der (⌒▽⌒)

Endling

Zitat von: DF6GL am Juni 26, 2018, 16:26:48
Mit Unterabfrage sieht es so aus:


Ausgabe: (select Bestand from abf_DeineAbfrage as A where A.Bauteilnummer= " & [Bauteilnummer] & " and A.Standort="A")  / Bedarf


Es sollte etwas schneller sein.

Das wollte ich jetzt mal ausprobieren, und mit dabei zum Testen lediglich den Bestand ausgeben lassen, ohne ihn weiter zu verrechnen. Dabei gibt er mir jetzt jedoch folgenden Fehler aus:
Datentypenkonflikt im Kriterienausdruck.

Hier mein konkreter Code:

TEST_MIN_BESTAND: (select MIN_BESTAND_AT from Miles_Tool as A where A.TFPLANID=" & [G21_Report.TFPLANID]&" and A.SENKE_ORTSNAME ="Eching")

Die TFPLANID ist dabei vom Typ "Allg. Zahl", SENKE_ORTSNAME vom Typ kurzer Text. Habs schon mit diverse hochgestellten Kommas an verschiedenen Stellen probiert, bekomme den Fehler aber nicht raus.

DF6GL

Hallo,


TEST_MIN_BESTAND: (select MIN_BESTAND_AT from Miles_Tool as A where A.TFPLANID=" & [G21_Report.TFPLANID] & " and A.SENKE_ORTSNAME ="Eching")


Was ist das denn?

Und wieso jetzt ganz andere Felder, bzw. Bedeutungen??   >:(
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access