AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Problem mit Group by in Access
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Group by in Access

Ein Thema von Luckner · begonnen am 24. Mai 2019 · letzter Beitrag vom 5. Jun 2019
Antwort Antwort
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#1

AW: Problem mit Group by in Access

  Alt 25. Mai 2019, 13:17
Vermutlich würde so eine simple Aufteilung eines Statements in mehrere Zeilen für
Select Clause
From Clause / Join
Where Clause
[Group by ..]
[Order ..]
auch Deinem eigenen Verständnis dienen.
Und hat den Vorteil, man kann mal einzelne Zeilen mit -- davor eben auskommentieren, um zu prüfen, ob das Ergebnis besser wird, eine Fehlermeldung verschwindet ...

In Delphi kann ich in einer Quelltextzeile auch mehrere Befehle hintereinanderschreiben, beim 27" wohl sogar ziemlich viele. Aber ob das der Les- und Wartbarkeit des Quelltextes dienlich ist, wage ich zu bezweifeln.

So wie man in Delphi logisch zusammgehörige Quelltextzeilen zusammenfasst, kann man das auch in SQL machen, auch wenn die Syntax das nicht zwingend erfordert oder man 50 Meter Quelltext in eine Zeile schreiben kann

Logische Strukturen im Quelltext (und dazu gehören auch SQL-Statements) haben für mich was mit Softwarequalität zu tuen. "Kilometerlange" Einzeiler gehören für mich nicht dazu.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.437 Beiträge
 
Delphi 12 Athens
 
#2

AW: Problem mit Group by in Access

  Alt 25. Mai 2019, 13:30
Hallo...
Zitat:
Datamodule1.ADOQueryRollenJoinLagerplatzTabelle.SQ L.Add('SELECT Rollenlager.Lagerplatz FROM Materialrollen LEFT JOIN Rollenlager ON Rollenlager.Rollennummer = Materialrollen.Rollennummer where ((Materialrollen.[Mat-Nr] = ' + EditMaterialeingangMatNr.Text + ') and (Materialrollen.DatumAb is NULL)) group by Rollenlager.Lagerplatz');
Das markierte geht gar nicht. In den Beispielen ist immer wieder von Parametern die Rede. Die brauchst du auch!
Grund: https://de.wikipedia.org/wiki/SQL-Injection

Zitat:
LEFT JOIN Rollenlager ON
Hier kannst du auch Aliase verwenden:
Zitat:
SELECT R.Lagerplatz FROM Materialrollen LEFT JOIN Rollenlager R ON R.Rollennumme...
...das macht das Ganze übersichtlicher.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: Problem mit Group by in Access

  Alt 25. Mai 2019, 18:40
Zitat:
Datamodule1.ADOQueryRollenJoinLagerplatzTabelle.SQ L.Add('SELECT Rollenlager.Lagerplatz FROM Materialrollen LEFT JOIN Rollenlager ON Rollenlager.Rollennummer = Materialrollen.Rollennummer where ((Materialrollen.[Mat-Nr] = ' + EditMaterialeingangMatNr.Text + ') and (Materialrollen.DatumAb is NULL)) group by Rollenlager.Lagerplatz');
Das markierte geht gar nicht. In den Beispielen ist immer wieder von Parametern die Rede. Die brauchst du auch!
Ahh, das hab ich in den 10 Varianten aus den Augen verloren, die Materialnummer als Filter. Natürlich soll das ein Parameter sein!
Ein beliebiger Filter (where clause) auf irgendwelche Felder wirkt sich aber nicht auf Funktionsweise oder Syntax für Group by aus.
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 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-2025 by Thomas Breitkreuz