Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Deatenfeldinhalt in Combobox (https://www.delphipraxis.net/36686-deatenfeldinhalt-combobox.html)

The_Tremendous 23. Dez 2004 16:23


Deatenfeldinhalt in Combobox
 
HI

Ich habe folgende Tabelle:

Fahrer (PersNr, Name, Vorname)


Ich habe eine Form, auf der ich die Daten für die Fahrer eingbe und dann speichere. Nun will ich diese Fahrer auch wieder löschen. Dies soll durch eine Auswahl mit einer Combobox geschehen.Nachdem der User dann in der Combobox den Fahrer ausgewählt hat, Clickt er auf löschen und alle Daten des Fahrers sind weg.

Wie kann ich den Inhalt der Felder PersNr nun in ner Combobox unter Items bringen??


The_Tremendous :wall:

Joe24 23. Dez 2004 16:50

Re: Deatenfeldinhalt in Combobox
 
Wenn ich die Problemstellung richtig verstanden habe, könnte das hier eine Lösung sein.

Delphi-Quellcode:
type
  TDriver = Class( TPersistent)
   public
    DriverID : Word;
    SurName : String;
    Name : String;
  end;

Für den jeden Fahrer eine Instanz der Klasse TDriver erstellen...

Delphi-Quellcode:
procedure TForm1.Btn_AddClick(Sender: TObject);
var
  vDriver : TDriver;
begin
  vDriver := TDriver.Create;
  with vDriver do
    begin
      DriverID := StrToInt( Et_PersNr.Text);
      SurName := Et_Name.Text;
      Name := Et_VorName.Text;
      ComboBox1.AddItem( Name +' ' +SurName, vDriver);
    end;
end;
...und wieder freigeben.

Delphi-Quellcode:
procedure TForm1.Btn_DeleteClick(Sender: TObject);
begin
  if ComboBox1.ItemIndex > -1 then
    with ComboBox1 do
      begin
        TDriver( Items.Objects[ ItemIndex]).Free;
        Items.Delete( ItemIndex);
        if Items.Count > 0 then
          ItemIndex := 0 else
          Text := '';
      end;
end;

The_Tremendous 23. Dez 2004 17:14

Re: Deatenfeldinhalt in Combobox
 
Das würde so gehn, richtig.

Aber ich wollte eigentlich nur wissen, wie ich bei vorhandener Tabelle (Paradox Tabelle) die Felder von PersNr auslese und in die Combobox einfügen kann.


geht das auch einfacher, oder nur so wie du mir das vorgeschlagen hast??



The_Tremendous

kiar 23. Dez 2004 17:30

Re: Deatenfeldinhalt in Combobox
 
versuche mal mit einer query und local sql in der oh zu suchen.
hier dürftest du fündig werden, oder du bemühst mal die suche in der dp.


raik

grayfox 23. Dez 2004 19:23

Re: Deatenfeldinhalt in Combobox
 
hallo tremendous!

sieh dir die DBLookUpComboBox an. mit ihrer hilfe kannst du ebenfalls den gewünschten datensatz auswählen und ihn bearbeiten

mfg, stefan

//edit:
die verbindungen stellst du wie folgt her:

DBLookUpComboBox.ListSource ... ist deine DataSource, an welcher die datensensitiven anzeigekomponenten hängen (DBGrid, DBEdit, etc...)

DBLookUpComboBox.ListField ... das feld, das du in der auswahl angezeigt haben möchstest, zb den fahrernamen

DBLookUpComboBox.ListField ... der primärschlüssel der tabelle


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz