Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBListBox zeigt nichts an (https://www.delphipraxis.net/23767-dblistbox-zeigt-nichts.html)

abi 9. Jun 2004 11:02


DBListBox zeigt nichts an
 
Hallo
die Frage würde zwar schon gestellt, aber dafehlt irgendwie die Lösung.

Ich habe meine List box fogender Massen eingestellt.

DataSource := DataSource1
DataField := Vorname

Öffne meine Tabelle mit einer Table Komponente und lass mir auch eine TGrid Tabelle anzeigen. Bei der sehe ich auch alles aber in meiner ListBox steht nichts drin.

Wo hab ich denn was vergessen oder hab ich einen Denkfehler.

Mercy schon mal.

abi

Albi 9. Jun 2004 11:40

Re: DBListBox zeigt nichts an
 
Hallo,

Ich verwende für soetwas immer eine normal ListBox und lasse die ListBox über eine Schleife mit den entsprechenden Daten füllen.

Code:
for i:= 0 to Table1.RecordCount-1 Do
Begin
  ListBox.Items.Add(Table1.Field[x].Asstring);
  Table1.Next;
end;
Und schon stehen die Daten in deiner ListBox. Wenn du die DBListBox nehmen willst, geht es genauso.

abi 9. Jun 2004 12:14

Re: DBListBox zeigt nichts an
 
Hallo Albi
schon mal danke für deine Antwort.

Zitat:

Code:
for i:= 0 to Table1.RecordCount-1 Do
Begin
ListBox.Items.Add(Table1.Field[x].Asstring);
Table1.Next;
end;
Muss ich jetzt für Field eingeben was ich haben will oder muss ich des für x machen.
Hab noch nie damit gearbeitet.

Ausserdem sagt ihn Field nichts wenn ichs genauso hinschreibe. Also nur aus ListBox - dbListBox mache.

abi

abi 9. Jun 2004 12:27

Re: DBListBox zeigt nichts an
 
Juppi Duppi Jehh :dancer2: :witch: :dancer:
ich habs heraus gefunden, des muss FieldByName heisen.

Danke nochmal. :corky:

abi

abi 9. Jun 2004 15:42

Re: DBListBox zeigt nichts an
 
Hallo Albi
leider hab ich noch was vergessen, wie kann ich jetzt z.B. Vor- und Nachname in meiner DBListBox anzeigen.

Mercy

abi

Kasoft 9. Jun 2004 16:56

Re: DBListBox zeigt nichts an
 
Genauso wie ich dir das schon in deinem anderen Thread beschrieben hab:

die Felder die du anzeigen möchtest mit Semikolon trennen
zb: Name;Vorname;Strasse;Ort;Homepage;Apfelbaum;Hund;K atze;Maus
damit hättest du 9 Felder die angezeigt werden würden...

MfG
Kasoft

abi 14. Jun 2004 07:47

Re: DBListBox zeigt nichts an
 
Hallo Karsoft
des hast du mir zwar schon in dem anderem Thread geschrieben. :lol:

Aber ich hab dir auch geschrieben das des nicht ging. :wiejetzt: Wenn ich das so mache kommt immer noch nur das erste Elemente. :cry:

Kannst du mir nicht noch sagen ob ich sonst noch was machen muss. :wall:

abi

Albi 14. Jun 2004 08:05

Re: DBListBox zeigt nichts an
 
Hallo,

ich habe das folgende jetzt zwar nicht getestet aber so sollte es gehen.

Code:
for i:= 0 to Table1.RecordCount-1 Do
Begin
  ListBox.Items.Add(Table1.Fields[x].Asstring+' '+Tabel1.Fields[x].AsString);
  Table1.Next;
end;
Für das X setzt du die Spalte ein, also 0,1,2 oder welche Spalte du auch haben willst oder du nimmst FieldbyName. Das spielt keine Rolle.

Das Ergebnis sollte dann so aussehen
Code:
Spalte 1 Spalte 2
Max     Mustermann

abi 14. Jun 2004 08:14

Re: DBListBox zeigt nichts an
 
Hallo Albi
des hab ich schon, was ich gemeint hab. Wie geht des bei der LookupListBox oder LookupCombobox.

Denn ich will damit eine Auswahl Box anzeigen.

abi

Albi 14. Jun 2004 08:35

Re: DBListBox zeigt nichts an
 
Das versteh ich jetzt nicht so ganz! Du redest doch die ganze von DBListBox! Hast Du schon mal hier im Forum gesucht?

Eine DBLookupCombobox bringt doch erst dann was, wenn man die Daten in mehren DB's verteilt hat. Sprich in einem liegen die Kunden und in der anderen die Rechnungen (n zu 1 Beziehung). Ansonsten kannst Du das ganz normal über die DBCombobox anzeigen und auswählen lassen.

Aber trotzalledem hier mal ein Ansatz:

Eigenschaft Wert Erklärung
------------- ---------- ----------------------------
1. Datasource Datasource1 von welcher DatenQuelle von der Fremdschlüssel
2. Datafield Feld Wie heißt der Fremdschlüssel
3. Listsource Datasource2 von welcher Datanquelle kommen die Detaildaten
4. KeyField Feld Primärschlüssel der der Detaildaten
5. Listfield Feld welche Feld soll in der Box angezeigt werden

Wenn sich diese Frage jedoch auf das bezieht LookupComboBox, mehrere Werte anzeigen, dann nehme besser die normale DBCombobox da du ja nur eine DB verwendest.

abi 14. Jun 2004 08:49

Re: DBListBox zeigt nichts an
 
Hallo Albi
ich habe schon mehrere DBs :| , aber da ich auf diesem Gebiet noch ziemlich neu bin. Wollte ich mal sehen ob ich auch mal die DBComboBox ausprobieren :nerd: .

Der Link verweisst genau aus das was ich meine :thuimb: . Aber da ich ja mehrere DBs hab, kann ich ja auch die DBLookup..Box nehmen, denn wenn ich das richtig verstanden habe.
Kann ich die nur nehmen wenn ich mehrere DBs habe.

Ich wollte eine Auswahlliste anzeigen, bei der man einen neuen Datensatz eingeben kann. Hab gedacht das geht mit der Lookup-ListBox vielleicht auch ganz gut. Aber die bekomme ich ja auch nicht zulaufen.

schluchz

abi

abi 14. Jun 2004 08:57

Re: DBListBox zeigt nichts an
 
Hallo
hab des jetzt mal mit KeyField und ListField ausprobiert, weil des ja schon in einigen Thread geschrieben worden ist.
Code:
DBLookupListBox1.KeyField := (Table2.FieldByName('Vorname').AsString);
DBLookupListBox1.ListField := (Table2.FieldByName('Vorname').AsString);
Dann bekomme ich folgende Fehlere meldung bei beiden.
Es ist ein EDataBaseError aufgetreten und das Feld Wilhem wurde nicht gefunden.

Ich hoffe des hilft dir.

abi

Albi 14. Jun 2004 09:03

Re: DBListBox zeigt nichts an
 
Ich weiß jetzt nicht ob du verstanden hast was ich eben geschrieben habe. Es ist sinnvoll eine DBLookupCombobox zu verwenden, wenn Beziehungen zu den anderen DB bestehen.

Zum Beispiel du hast eine Kundentabelle und Rechnungstabelle. In der Kundent. stehen alle Kunden drin und in der Rechnungst. alle Rechnungen. Nun ist es ja so, das in der Regel jeder Kunde nur einmal in der DB stehen soll aber jeder Kunde mehrere Rechnungen haben kann. Also wird der Kunde in der Kundent. gepeichert und in der Rechnungst. steht dann nur die Rechnung mit einem Verweis auf die Kundent.. Die geschieht dann über den Primärschlussel der Kundent..

Wenn Du genau sowas oder etwas ähnliches vorhast kannst Du eine DBLookupcombobox verwenden. Also immer dann, wenn du in der Box die Kunden zu stehen haben willst und wenn du einen Kunden auswählst sollen die dazugehörigen Rechnungen angezeigt werden.

Versuch es einfach mal mit den 5 Punkten die ich eben geschrieben habe, so sollte es gehen. Bei mir lief es.

abi 14. Jun 2004 09:12

Re: DBListBox zeigt nichts an
 
Genau das habe ich vor. Hab dich schon richtig verstanden.

Aber wenn ich jetzt deine 5 Punkte durch gehe und im ListField folgendes eingebe "Vorname; Nachname".

Dann zeigt er mir meine Box nur denn Vorname an.

Das ist mein Problem.

Hab ich vielleicht dann noch was vergessen.

Albi 14. Jun 2004 09:35

Re: DBListBox zeigt nichts an
 
So ich möchte dich jetzt nicht entmutigen aber ich bin mit meinen Latein am Ende. Ich habe jetzt mal hier und in anderen Foren gesucht aber es hat bis jetzt noch keiner hinbekommen. Eine Begründung war, das es durch die Verknüpfung wohl nicht möglich ist das zu realisieren.

abi 14. Jun 2004 09:48

Re: DBListBox zeigt nichts an
 
Trotzdem noch mal danke.

Meinst du des könnte gehen mit Query statt eine Table Komponente. :gruebel:

Des Problem ist nur das ich mit der Query Komponente noch nicht so klar komm. :mrgreen:

Aber entmutigt :cry: bin ich trotzdem schon, weil ich des schon seit fast einer Woche versuche.

Aber viele Wege führen ja nach Rom, vielleicht finde ich ja einen.

Mercy

abi

Albi 14. Jun 2004 09:56

Re: DBListBox zeigt nichts an
 
Ich habe es gerade mit einer Query-Kompo ausprobiert aber das geht auch nicht. Bei Interbase gib es eine Möglichkeit über eine Abfrage 2 Felder in einer Spalte auszugeben aber das geht bei einer Paradox nicht.

Man könnte das ganze selber per Hand über Query - Kompos schreiben. Das geht dan auch jeden Fall, es ist halt nur ne Menge schreibarbeit.

abi 14. Jun 2004 10:04

Re: DBListBox zeigt nichts an
 
Ich glaub des mit Hand einzugeben ist zuviel arbeit.

Dann überlege ich mir mal was anderes. :gruebel:

Aber mercy, sonst hätte ich bestimmt nochmal ne Wochen dran gehängt um des mit der Query Komponete zuversuchen. :stupid:

mvfg
abi

abi 14. Jun 2004 10:09

Re: DBListBox zeigt nichts an
 
Aber vielleicht kannst du mir doch noch helfen.

Kann ich jetzt in meiner ListBox einen bestimmten Wert anklicken, so zusagen auswählen.

Weil ich ja dieses benutzen will um eine neuen Datensatz einzugeben.

abi

Albi 14. Jun 2004 10:11

Re: DBListBox zeigt nichts an
 
Mach mal ein neues Thema auf und erkläre genau was Du machen willst.

alx_bln 2. Jul 2004 11:59

Re: DBListBox zeigt nichts an
 
Hallo,
Lösung des Problems liegt woanders.
Deine Listbox ist zu schmal zum Anzeigen mehrerer Spalten.
Entweder Dropdownwidth der Box grösser machen (Standard = 0 = so breit wie Box)
oder die Spalten verringern.
Das wird aber an der Tabelle gemacht. Tabelle.Fieldbyname('Feldname').Displaywidth = 10
Dann werden 10 Zeichen angezeigt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 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