AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken DBLookUpComboBox Datensatz auswählen und anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

DBLookUpComboBox Datensatz auswählen und anzeigen

Ein Thema von Khanysha · begonnen am 28. Mär 2017 · letzter Beitrag vom 3. Apr 2017
Antwort Antwort
Khanysha

Registriert seit: 11. Jun 2015
Ort: Dunkeldeutschland
23 Beiträge
 
Delphi 7 Professional
 
#1

DBLookUpComboBox Datensatz auswählen und anzeigen

  Alt 28. Mär 2017, 10:04
Datenbank: SQLite • Version: 3.9.2 • Zugriff über: UniDAC
Hallöchen zusammen.

Ich bin mal wieder dabei mit einer Datenbank zu spielen(spielen kann man fast nimmer sagen, da es diesmal ernst wird). Ich habe dieses Mal verschiedene DBLookUpComboBoxen, habe Datasets und Tables dazu. Ich bin mittlerweile auch soweit das im DropDown Menü was steht, auch das was ich haben will. Nun möchte ich aber einen Datensatz auswählen und in der DBLUCbb anzeigen lassen. Wenn ich einen Datensatz anklicke steht allerdings nur (Memo) in der DBLUCbb, nicht das was ich eigentlich ausgewählt habe. Ich bin über KeyFields gestolpert bei meiner Suche, aber habe nicht genau verstanden was ich da reinklimpern muss. Mir wurde gesagt, dass eine DBLUCbb 2 Datasets braucht, welche wohin zeigt ist mir auch noch nicht ganz schlüssig.
Im weiteren Verlauf muss ich dann die ID auslesen damit ich damit das Ganze wieder in eine Tabelle schreibe, aber da komme ich noch hin. Eins nach dem Anderen.

Hat jemand einen Denkanstoss, damit meine DBLUCbb auch anzeigen was ich auswähle?

LG dat Lizz
Lizzy
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: DBLookUpComboBox Datensatz auswählen und anzeigen

  Alt 28. Mär 2017, 11:11
DataSource und DataField beziehen sich auf die Tabelle, in der sich die ausgewählten Daten befinden sollen.

Dies sind die Daten der "Zieltabelle".

LockupSource ist die Datenquelle, in der nachgeschlagen werden soll. LockupField das Feld aus dieser Tabelle.
LockupDisplay ist das Feld, dass in der DBLookupCombobox angezeigt werden soll.

Hierbei handelt es sich um die Daten aus der "Nachschlagtabelle".

D. H.: Die hier ausgewählten Werte werden in die Zieltabelle übernommen.

Nehmen wir an, wir haben als Zieltabelle einer Mitarbeiterverwaltung die Tabelle Mitarbeiter mit Z. B. Name, Vorname, Angestelltenverhältnis ...

Die DBLookupCombobox soll für das Angestelltenverhältnis genutzt werden.

Das unterschiedlichen Möglichkeiten der Angestelltenverhältnis stehen in der Tabelle AngestelltenArten mit den Spalten ID und Text.

Die Zuweisung für die DBLookupCombobox könnte dann sinngemäß ungefähr so aussehen:
Delphi-Quellcode:
DBLookupCombobox.DataSource := Mitarbeiter;
DBLookupCombobox.DataField := Angestelltenverhältnis;
DBLookupCombobox.LockupSource := AngestelltenArten;
DBLookupCombobox.LockupField := ID;
DBLookupCombobox.LockupDisplay := Text;

Geändert von nahpets (28. Mär 2017 um 13:33 Uhr) Grund: Schreibfehler, wie immer :-(
  Mit Zitat antworten Zitat
Khanysha

Registriert seit: 11. Jun 2015
Ort: Dunkeldeutschland
23 Beiträge
 
Delphi 7 Professional
 
#3

AW: DBLookUpComboBox Datensatz auswählen und anzeigen

  Alt 28. Mär 2017, 13:29
Danke erstmal für deine Antwort. Ich versuche deine Antwort auf mein Problem zu Münzen und schreibe nochmal, wenn es fehlgeschlagen ist oder funktioniert hat. Habe das Gefühl, dass sich da was verknotet hat
Lizzy
  Mit Zitat antworten Zitat
Khanysha

Registriert seit: 11. Jun 2015
Ort: Dunkeldeutschland
23 Beiträge
 
Delphi 7 Professional
 
#4

AW: DBLookUpComboBox Datensatz auswählen und anzeigen

  Alt 29. Mär 2017, 08:35
Okay, das mit dem ummünzen funktioniert nicht so recht, beziehungsweise nachdem ich es aufgemalt habe weiß ich nun was was sein sollte. LookupSource, -Display und -Field gebe ich im Quelltext an oder finde ich das im Objektinspektor?

Das Ding ist halt ich finde in der Codevervollständigung LookupSource und so nicht. Hatte eben schon... oh... mir ist grad was aufgefallen, dass meine Cbb eine TcxDBLookUpCbb ist und die kann anscheinend was anderes als die "normale" DBLookUpCbb.... Entschuldige.

Edit:
Ich bin schon mal ein Stück weiter und bekomme immerhin (MEMO) statt dem ausgewählten Text angezeigt, es fühlt sich zumindest so an, als wenn ich n Stück weiter wäre
Lizzy

Geändert von Khanysha (29. Mär 2017 um 10:41 Uhr)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#5

AW: DBLookUpComboBox Datensatz auswählen und anzeigen

  Alt 29. Mär 2017, 12:11
Das Problem mit dem (MEMO) ist doch wahrscheinlich der Datentyp des Feldes in der dahinter stehenden Tabelle. Wenn das irgendwas großes ist, CLOB, LONG o.ä., dann kann ein Edit und auch das Edit der Combobox das ggf. nicht anzeigen und dann kommt dieses (MEMO), oder (VARBYTES) hab ich auch schon gesehen.
Ralph
  Mit Zitat antworten Zitat
Khanysha

Registriert seit: 11. Jun 2015
Ort: Dunkeldeutschland
23 Beiträge
 
Delphi 7 Professional
 
#6

AW: DBLookUpComboBox Datensatz auswählen und anzeigen

  Alt 29. Mär 2017, 13:42
Japp, es stellte sich raus das es ein Problem beim Mapping gibt, da SQLite kein String kennt sondern nur Text. Da ich aber meinen Text nicht auf x Zeichen begrenzt habe ging es wohl davon aus das ein Text in der Größe eines Memos reinkommt. So hab ich das nun verstanden. Ich habe dann beim Data type Mapping gesagt das Text = String ist.

Das mit dem Databinding und Listsource ist nun auch offensichtlich. Nun setze ich mich daran das Ausgewählte beim Beenden zu speichern *schnuuf*

Danke für die Antworten
Lizzy
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#7

AW: DBLookUpComboBox Datensatz auswählen und anzeigen

  Alt 29. Mär 2017, 14:13
Hallöle...
Zitat:
Ich bin mal wieder dabei mit einer Datenbank zu spielen(spielen kann man fast nimmer sagen, da es diesmal ernst wird).
[immer wieder meine Meinung]
Lass die Finger von den datensensitiven Controls. Auch wenn es einen schnellen Erfolg verspricht...die Nachteile heben das nicht auf.
Zitat:
es stellte sich raus das es ein Problem beim Mapping gibt, da SQLite kein String kennt sondern nur Text
Wenn ein Control vom Datentyp der entsprechenden Spalte des DBMS abhängig ist ist imho was faul.

Du tust du dir selbst einen Gefallen die Daten klassisch mit verschiedenen Querys aus der DB zu holen (TDataSet oder TObjectList) und in klassischen Controls darzustellen. Spätestens wenn du über die DB Normalisierung, was zwingend zu einer vernüftigen DB gehört, nachdenkst, hast du keine Chance mehr datensensive Controls zu benutzen. Wenn dir die Controls nicht mehr gefallen kannst du sie auch nicht einfach austauschen...usw. Auch wenn es klassisch mehr Arbeit erscheint, du bist flexibler.
Stichworte:
https://de.wikipedia.org/wiki/Normal...ng_(Datenbank)
https://de.wikipedia.org/wiki/SQL#Ab...pften_Tabellen

...wenn du eh schon anfängst, mache es gleich zukunftssicher...nämlich richtig...

[/immer wieder meine Meinung]

Geändert von haentschman (29. Mär 2017 um 16:22 Uhr)
  Mit Zitat antworten Zitat
Khanysha

Registriert seit: 11. Jun 2015
Ort: Dunkeldeutschland
23 Beiträge
 
Delphi 7 Professional
 
#8

AW: DBLookUpComboBox Datensatz auswählen und anzeigen

  Alt 3. Apr 2017, 11:05
Meine DB ist normalisiert, auf dem Papier, hatten wir ja grad im Turnus. Das Projekt soll nachher nicht mit anderen DBMS funktionieren, es ist ein internes Projekt, welches zeitgleich mein Abschlussprojekt ist. Wir haben mit SQLite angefangen und bringen es damit auch zuende, also muss ich mit solchen Sachen wie: SQLite kann kein Datum und dreht bei Strings und Texten durch, eben leben.

Gefühlt verzweifel ich an den DBLUcbb, weil ich wirklich schleppend vorankomme(Ja speichern geht, aber hab schon wieder das nächste). Eine Funktion mehr funktioniert und bei der Nächsten bin ich schon wieder knappsen und muss sogar Seite 4 bei Google besuchen...

*zuviel Kaffee trinkt und wieder abdampft*

LG Lizz
Lizzy
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12: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