![]() |
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 |
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. :) |
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:
A: ist die Zahl der Einträge in der Tabelle.(wie man die herausfindet
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; habe ich noch nicht herausgefunden :wall: ) Ich habe den Quelltext nicht ausprobiert, könnte aber klappen. :thuimb: |
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
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. |
Re: Datenbankeinträge mit Combobox auflisten und auswählen?
hallo anänger!
Delphi-Quellcode:
und
for I:=0 to A do begin
Delphi-Quellcode:
sehr gefährlich, was du da tust ;)
Combobox1.Items[i]:= Table1.FieldByName('Feldname').AsString)
--> wenn kein item in der combobox angelegt ist, kannst ihm auch keinen eintrag zuweisen... versuchs lieber so:
Delphi-Quellcode:
btw: die anzahl der datensätze im table bekommst du mit
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;
Code:
angezeigt.
table1.recordcount
mfg, stefan |
Re: Datenbankeinträge mit Combobox auflisten und auswählen?
hallo andi!
Code:
du verwendest eine komponente, die für dein vorhaben gänzlich ungeignet ist ;)
Was mache ich falsch???
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 |
Re: Datenbankeinträge mit Combobox auflisten und auswählen?
Zitat:
Btw. ganz wichtig am Anfang:
Delphi-Quellcode:
Sonst fängt dein Prog garnicht erst an :lol:
table1.first
|
Re: Datenbankeinträge mit Combobox auflisten und auswählen?
Hai Daiserja,
verwende dafür doch einfach eine DBLockupComboBox. |
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:
(Man sollte, vorher auf die erste Zeile zugreifen :mrgreen: )
Table1.First;
while not table1.eof do begin Combobox1.Items.Add(Table1.FieldByName('Feldname').AsString); table1.next; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:27 Uhr. |
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