Autor Beitrag
peppi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 65


delphi 7
BeitragVerfasst: Di 18.02.03 11:34 
Hey,

ich habe ein Suchprogramm, in dem ich über einzelne Edit-Felder suchen lasse. Das Ergebnis wird in einem Grid angezeigt. Zwei weitere Kriterien können per RadioButton ausgewählt werden. Mein Problem:

Wenn RadioButton1.Checked := true

und dann etwas in ein Edit-Feld eingetragen wird, wird wieder die gesamte Datenmenge im Grid angezeigt. obwohl der Radiobutton immer noch aktiv ist. Wenn ich dann nochmal auf RadioButton1 (schon aktiv) klicke passiert gar nichts. Muss dann erst den 2.RadioButton klicken und dann wieder den ersten um die richtige Datenmenge zu bekommen. Gibt es da ne Möglichkeit die Daten bei JEDEM Klick auf den RadioButton zu selektieren ... auch wenn RadioButton1.Checked := Trueist??

Wenn ich in meinen Quelltext vor dem ganzen Ereignis

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
RadioButton1.Checked := false;
with Query1 do begin
 close;
 with SQL do begin
...


den Butto deaktiviere funktioniert es so wie ich's mir vorstelle, aber dann ist er nie aktiv und man sieht nicht welche Datenmenge gewählt ist. Kann mir da einer helfen??

Danke!!

Jana!
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Di 18.02.03 12:40 
hallöle...

also, wenn ich dich richtig verstanden habe, willst du zu einer standard-suchabfrag noch eine von 2 kriterien hinzufügen.
beispiel:

edStandard -> Hier gibt der Anwender was ein, danach wird DEFINITV gesucht

radio1/edit1 und radio2/edit2
--> und suche auch nach EINER dieser möglichkeiten

wenn dem so ist, dann benutze doch eine RadioGroup mit 2 RadioButtons:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
on Button1.Click
begin
// erst die standard-suche, die immer funktionieren muss
Query.SQL.Clear;
Query.SQL.Add (' SELECT * FROM dbank WHERE feld1 LIKE ' + edStandard);
// und hier entsprechend er RadioButtons
case RadioGroup1.ItemIndex of
1: Query.SQL.ADD(' OR feld2 LIKE edit1
2: Query.SQL.ADD(' OR feld3 LIKE edit2
end; // case of
Query.SQL.Open;
end; // button1.click


dann würd ich noch auf die OnChange-Ereignisse deiner Edit-Felder in der RadioGroup folgendes legen
ausblenden Quelltext
1:
2:
3:
4:
5:
on Edit1.Change:
RadioGroup1.ItemIndex := 0;

on Edit2.Change:
RadioGroup1.ItemIndex := 1;



hoffe ich hab das thema jetzt nicht verfehlt, aber die essentielle aussage ist auf jedenfall: benutzte eine RadioGroup, die find ich nämlich komfortabler!

mfg
kiwicht
peppi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 65


delphi 7
BeitragVerfasst: Mi 19.02.03 12:59 
Hallo kiwicht,

herzlichen Dank, mit der RadioGroup geht das wirklich viel besser. Hab deine Antwort jetzt ein wenig für meine Zwecke angepasst und jetzt funktioniert's :D

SUPER, Danke!!

LG jana!!!
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Do 20.02.03 13:14 
pas de probleme :D