collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 80
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 4
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13972
  • stats Beiträge insgesamt: 66528
  • stats Themen insgesamt: 8970
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Bezug auf andere Zeile nehmen  (Gelesen 275 mal)

Offline Endling

  • Newbie
  • Beiträge: 12
Re: Bezug auf andere Zeile nehmen
« Antwort #15 am: Juni 26, 2018, 07:48:48 »
Vielen Dank für Eure Geduld mit mir, ich werde beide Ansätze direkt ausprobieren   ;D
 

Offline Endling

  • Newbie
  • Beiträge: 12
Re: Bezug auf andere Zeile nehmen
« Antwort #16 am: Juni 26, 2018, 13:46:56 »
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?
 

Online DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23340
Re: Bezug auf andere Zeile nehmen
« Antwort #17 am: Juni 26, 2018, 16:26:48 »
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.

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1246
Re: Bezug auf andere Zeile nehmen
« Antwort #18 am: Juni 26, 2018, 16:33:47 »
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 (⌒▽⌒)
 

Offline Endling

  • Newbie
  • Beiträge: 12
Re: Bezug auf andere Zeile nehmen
« Antwort #19 am: Juni 27, 2018, 08:43:15 »
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.
 

Online DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23340
Re: Bezug auf andere Zeile nehmen
« Antwort #20 am: Juni 27, 2018, 13:03:46 »
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??   >:(