Autor Beitrag
Syris
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Do 20.04.06 15:01 
Hallo Leutz,
ich (versuche) ein Fußballmanager zu proggen- ein Projekt für die Schule...- und hänge momentan leider etwas:
Ich habe eine DB über Access laufen, die über DBGrid angezeigt wird. Dort sind alle Spieler der jeweiligen Vereine vertreten. (Vereinsname ist mit in DB aufgeführt).

Nun möchte ich, dass nur die Spieler angezeigt werden, die bei dem Verein spielen, welchen ich vorher (über einen Radiobutton) ausgewählt habe.

kann mir da vielleicht jemand helfen?!
PS: habe auch ID Nummern vergeben.

Schon mal Danke im Vorraus!
Syris Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Do 20.04.06 16:10 
Sorry für so viel Text

PS: es sollen dann 11 Spieler ausgewählt werden können, und in eine Listbox eingefügt werden.
momentan habe ich es so, is meines achtens aber zuuuu umständlich:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
var
i: integer;
val: string;
sl:TsrtingList;

begin

val:='FC Bayern'{oder anderer Verein};
sl:=TstringList.create;
Table.first;
while not Table1.Eof do begin

if Table1.Fields[3]{is bei mir Vereinsname}.Asstring= val than
sl.Add(inttoStr(Table1.Fields[4]  {bei mir die ID-Nummer}.Asinteger));
Table1.text;
end;

Table.first;

for i:=1 to sl.count do begin 
lbkader.items.add(table1.fields[0]  {Spielername}.Asstring);
Table1.next;
end;
sl.free;
end;


der gibt mir aber im moment für jede ausgewählte Mannschaft immer den Kader des FC Bayern München.

Mir wäre es lieber, es wird je Auswahl in DBGrid die JEWEILIGE Mannschaft angezeigt, und ich könnte dann über DBEdit den Spieler in meine Listbox einfügen.

Allerdings sollten dabei nicht alle Spieler aller Vereine zur Verfügung stehen, wenn ich mit einem Team spielen möchte.

Nochmal Danke und ich hoffe wirklich ihr könnt mir dabei weiter helfen?!

Moderiert von user profile iconraziel: Color- durch Delphi-Tags ersetzt
raiguen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 374

WIN 2000prof, WIN XP prof
D7EP, MSSQL, ABSDB
BeitragVerfasst: Do 20.04.06 17:33 
user profile iconSyris hat folgendes geschrieben:

der gibt mir aber im moment für jede ausgewählte Mannschaft immer den Kader des FC Bayern München.

Ist ja auch nicht verwunderlich ;-) Du hast ja diesen Verein fest 'verdrahtet' (siehe Zeile 8 in Deinem geposteten Code)

Zum Filtern Deiner Tabelle folgender Vorschlag:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
procedure TForm1.FormCreate(Sender: TObject);
begin
  //--Combobox mit den Vereinen bestücken
  with ComboBox1.Items do
   begin
     Add(''); //--Leerzeile
     Add('Verein abc');
     Add('Verein def');
     ...
     Add('Verein xyz');
  end;
  //--auf ersten Eintrag (Leerzeile) stellen
  ComboBox1.ItemIndex := 0;
  ...
end;

{Tabelle filtern anhand des ausgewählten Vereins}
procedure TForm1.ComboBox1Click(Sender: TObject);
begin
  //sofern Table1.Fields[3].FieldName vereinsname lautet, ansonsten anpassen
  Table1.Filter := 'vereinsname=' + QuotedStr(ComboBox1.Items[ComboBox1.ItemIndex]);
  Table1.Filtered := (ComboBox1.ItemIndex>0);
end;

{aus gefilterter Tabelle Spieler in Kaderliste übernehmen}
procedure TForm1.DBGrid1DblClick[Sender: TObject);
begin
  if Table1.Filtered then
    lbkader.items.add(table1.fields[0].Asstring);
end;