Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbankeinträge mit Combobox auflisten und auswählen? (https://www.delphipraxis.net/15413-datenbankeintraege-mit-combobox-auflisten-und-auswaehlen.html)

Daiserja 28. Jan 2004 13:34


Datenbankeinträge mit Combobox auflisten und auswählen?
 
Hallo,

wie kann ich eine bestimmte Spalte einer Tabelle in einer Combobox darstellen und dann einen Eintrag auswählen lassen?

Bei mir steht in derCombobox immer nur ein Datensatz, egal, wieviel in der Tabelle steht....

Was mache ich falsch???

Danke
Andreas

Matze 28. Jan 2004 13:45

Re: Datenbankeinträge mit Combobox auflisten und auswählen?
 
Hi!
Herzlich willkommen in der DP!

Was du falsch machst weiß ich nicht, woher auch? ;)
Kannst du deinen bisherigen Code bitte auch noch posten, dann fällt's und allen leichter. :)

Anänger 28. Jan 2004 13:54

Re: Datenbankeinträge mit Combobox auflisten und auswählen?
 
du wirst wahrscheinlich den Befehl 'FieldByName' benutzen oder?

Hättest du eigentlich auch in deine Frage einbeziehen können!

Naja,
In diesem Befehl überträgt er nur die Zeile, die gerade (ausgewählt/Markiert) ist. ansonsten nimmt er die erste.

Ich weiß nicht, ob es einen richtigen Befehl dafür gibt, :|
aber ich würde folgende Schleifenanweisung benutzen: 8)

Delphi-Quellcode:
for I:=0 to A do
begin
Table1.RecNo:=I; //wählt die Zeile im Table aus
Combobox1.Items[I]:=Table1.FieldByName('Feldname').AsString;
end;
A: ist die Zahl der Einträge in der Tabelle.(wie man die herausfindet
habe ich noch nicht herausgefunden :wall: )

Ich habe den Quelltext nicht ausprobiert, könnte aber klappen. :thuimb:

Daiserja 28. Jan 2004 13:56

Re: Datenbankeinträge mit Combobox auflisten und auswählen?
 
Sorry, hätte was mehr schreiben können.

Code habe ich noch keinen programmiert. Wollte alles über die Komponenten regeln...

Also, ich habe eine Tabelle (User) angelegt und mit Daten gefüllt. Eine Spalte heißt 'Name', die soll später angezeigt werden.

Dann habe ich eine Datenbankkomponente eingerichtet, eine Tabellenkomponente mit der Tabelle verknüpft und eine Datasource angelegt.

Wenn ich nun eine DBGrid in mein Projekt einfüge und dan die Datasource anbinde, kann ich alle Datensätze sehen.

Jetzt möchte ich aber kein DBGrid haben, sondern eine "DropDown Box", in der alle Tabelleneinträge der Spalte "Name" zu sehen sind. Wenn ich das versuche zeigt mir die DBComboBox nur den ersten Eintrag und beim klicken auf den Pfeil öffnet sich keine weitere Liste...

Hoffe die Schilderung war nicht zu umständlich....

DP-Maintenance 28. Jan 2004 14:04

DP-Maintenance
 
Dieses Thema wurde von "Daniel" von "VCL-Komponenten und Controls" nach "Datenbanken" verschoben.
*schnupper* Das riecht verdächtig nach "Datenbanken". Aus diesem Grund verschiebe ich es mal dorthin.

grayfox 28. Jan 2004 23:15

Re: Datenbankeinträge mit Combobox auflisten und auswählen?
 
hallo anänger!

Delphi-Quellcode:
for I:=0 to A do begin
und
Delphi-Quellcode:
Combobox1.Items[i]:= Table1.FieldByName('Feldname').AsString)
sehr gefährlich, was du da tust ;)
--> wenn kein item in der combobox angelegt ist, kannst ihm auch keinen eintrag
zuweisen...

versuchs lieber so:
Delphi-Quellcode:
while not table1.eof do begin
  Combobox1.Items.Add(Table1.FieldByName('Feldname').AsString);
  table1.[b]next[/b] <-- ganz wichtig, sonst tritt das programm beim auslesen auf der
                          stelle und es liest morgen auch noch beim ersten datensatz herum :)
end;
btw: die anzahl der datensätze im table bekommst du mit
Code:
table1.recordcount
angezeigt.

mfg, stefan

grayfox 28. Jan 2004 23:22

Re: Datenbankeinträge mit Combobox auflisten und auswählen?
 
hallo andi!

Code:
Was mache ich falsch???
du verwendest eine komponente, die für dein vorhaben gänzlich ungeignet ist ;)
die DBComboBox dient dazu, um einträge aus einer liste in tabellenfelder zu übernehmen,
aber nicht um tabellenfelder anzuzeigen.

für dein vorhaben wird dir nicht viel anderes übrigbleiben, als durch die tabelle zu
iterieren und die einträge 'zu fuss' zu übernehmen.

ps: ich hoffe, du hast vor- & zuname in getrennten feldern, sonst wird es beim suchen
haarig :twisted:

mfg, stefan

Chris1986 28. Jan 2004 23:59

Re: Datenbankeinträge mit Combobox auflisten und auswählen?
 
Zitat:

Zitat von grayfox
versuchs lieber so:
Delphi-Quellcode:
while not table1.eof do begin
  Combobox1.Items.Add(Table1.FieldByName('Feldname').AsString);
  table1.[b]next[/b] <-- ganz wichtig, sonst tritt das programm beim auslesen auf der
                          stelle und es liest morgen auch noch beim ersten datensatz herum :)
end;
mfg, stefan

ich würde es genauso machen wie grayfox. Nimm statt einer DBCombobox eine einfache Combobox.
Btw. ganz wichtig am Anfang:
Delphi-Quellcode:
table1.first
Sonst fängt dein Prog garnicht erst an :lol:

Sharky 29. Jan 2004 07:41

Re: Datenbankeinträge mit Combobox auflisten und auswählen?
 
Hai Daiserja,

verwende dafür doch einfach eine DBLockupComboBox.

Anänger 29. Jan 2004 20:33

Re: Datenbankeinträge mit Combobox auflisten und auswählen?
 
Hallo grayfox

Ich habe eine Mögliche Fehlerquelle in deinem SourceCode entdeckt :dancer:

Ich schreibe ihn einfach nochmal komplett:

Delphi-Quellcode:
Table1.First;
while not table1.eof do begin
  Combobox1.Items.Add(Table1.FieldByName('Feldname').AsString);
  table1.next;
(Man sollte, vorher auf die erste Zeile zugreifen :mrgreen: )


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:27 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz