Autor Beitrag
nonni
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Fr 25.04.03 19:17 
Hallo nochmal.

Also. Ich möchte meinen DBGrid sortieren und Zwar immer durch neu SQL anweisung. Die Sortierbedingung hängt von dem Spaltennamen den ich anklicke ab (ihr kennt es, man klickt oben in die Leiste wo der Name steht und es wird alles nach dem Namen sortiert).
Ich will natürlich nicht so viele SQL Anweisungen schreiben wie es Spalten gibt deswegen übergebe ich nur den Spaltennamen in die SQL Anw.
hier code:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm2.GridMusik1TitleClick(Column: TColumn);
begin
  if Column=GridMusik1.columns[0] then
  begin
      StrVar:='Name';
      Datamodule3.QuMusik1.Active:=false;
      Datamodule3.QuMusik1.SQL.clear;
      Datamodule3.Qumusik1.SQL.Add('SELECT bla bla from bla bla');
      Datamodule3.Qumusik1.SQL.Add('ORDER BY ' + QuotedStr(StrVar) + ';');
      Datamodule3.Qumusik1.open;
   end;


es sollte eigentlich nach dem Namen sortieren tut es aber nicht, es passiert irgendwas aber bleibt alles beim alten. Kann mir jemand helfen?
Vielleicht eine einfachere Lösung parat?
Danke im voraus
nonni Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Fr 25.04.03 19:30 
Hat sich erledigt :lol:
hab die 'QuotedStr' weggelassen dann gings hihi;
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Fr 25.04.03 19:41 
Anmerkung:

Tip, um noch mal 3 Zeilen Code zu sparen:

aus:

ausblenden Quelltext
1:
2:
3:
4:
5:
Datamodule3.QuMusik1.Active:=false; 
Datamodule3.QuMusik1.SQL.clear; 
Datamodule3.Qumusik1.SQL.Add('SELECT bla bla from bla bla'); 
Datamodule3.Qumusik1.SQL.Add('ORDER BY ' + QuotedStr(StrVar) + ';'); 
Datamodule3.Qumusik1.open;


wird

ausblenden Quelltext
1:
2:
Datamodule3.QuMusik1.SQL.Text := 'SELECT * .... [u.s.w.]
Datamodule3.QuMusik1.Open;


und dann fällt mir nochwas ein, dessen ich mir aber nicht sicher bin:

Nach folgender SQL-Anweisung:
SELECT feld2 FROM dbase ORDER BY feld1

Kann er dann, rein theoretisch, nach "feld1" sortieren, wenn du in der Ergebnis-Menge nur "feld2" zurück kriegst?
Du weist was ich meine?

;)
nonni Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Fr 25.04.03 20:02 
ausblenden Quelltext
1:
2:
Datamodule3.QuMusik1.SQL.Text := 'SELECT * .... [u.s.w.] 
Datamodule3.QuMusik1.Open;
<-- cool danke, ist viel kleiner jetzt :D

und zu Feld1 bin mir da auch nicht so sicher, glaube geht nicht.
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 25.04.03 20:10 
das geht definitiv nicht. Dein Programm weiß dann nichts von Feld1.

_________________
Gruß
Hansa