AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie funktioniert TBLookupCombo

Ein Thema von Jumpy · begonnen am 28. Mär 2011 · letzter Beitrag vom 30. Mär 2011
Antwort Antwort
Jumpy

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

Wie funktioniert TBLookupCombo

  Alt 28. Mär 2011, 08:17
Hallo,

irgendwie bin ich gerade vernagelt und bekomme die genannte Komponente nicht zum laufen:
Nur Übungsbeispiel:

(Delphi10, OracleDB, ODBC-Zugriff)

Tabelle 1 (Anredeformen):
ID | Anrede
1 | Herr
2 | Frau
3 | Firma

Tabelle 2 (Adressen):
AnredeID | Vorname | Nachname
1 | Peter | Maier

Die Tabellen sind Datenbankseitig nicht verknüpft (keine Constrains oder ähnl.)

Jetzt sollen die Adressen in einer Eingabemaske erfasst werden.
Auf dem Form sind TADOTable und TDataSource.
Vorname & Nachname sind TDBEdit mit DataSource die TDataSource-Komponente und DataField das entsprechende Field.

Nun möche ich für die Anrede eine ComboBox, die die Auswahl der möglichen Werte aus Tabelle 1 holt.
Habe TBLookupCombo genommen und DataSource und -Field wie bei den Edits angegeben.

Ist die LookupSource nicht angegeben, wird nichts angezeigt, ob wohl ja DataSource angegeben ist.

Die LookupSource aber krieg ich nicht angegeben. Geb ich eine TTable an meckert der Compiler, dass es eine DataSource sein muss. Geb ich eine Datasource an, gibt es einen Laufzeitfehler, das das Opbjekt mit einer TTable-Komponente verbunden sein muss.

Wie bekomme ich das ans Laufen?
Ralph
  Mit Zitat antworten Zitat
Jumpy

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

AW: Wie funktioniert TBLookupCombo

  Alt 28. Mär 2011, 13:54
Hab erstmal aufgegeben und einen Workarround mit einem TDBEdit und einer normalen TComboBox gebastelt. Ist zwar nicht schön, funktioniert aber erstmal. Nichts desto trotz, wenn jemand weiß, wie man die TDBLookupCombo benutzt, würd ich das gerne immer noch wissen. Aus der OH und dem was der große Bruder Google zu dem Thema zusagen hatte, bin ich nicht schlau geworden.

Vielleicht kenn aber jemand auch eine andere Komponente, mit der man das Verhalten eines Kombinationsfeldes wie bei MS-Access nachbauen kann.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Wie funktioniert TBLookupCombo

  Alt 28. Mär 2011, 13:58
Eine DataSet-Verbindung zur Tabelle der Anredeformen erstellen
(TAdoTable, TAdoQuery oder wie auch immer)

TDataSource erstellen und mit dem DataSet verbinden

Diese DataSource dann als ListSource angeben
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Jumpy

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

AW: Wie funktioniert TBLookupCombo

  Alt 28. Mär 2011, 15:13
Das hat ich auch so angenommen. Aber beim Zuweisen der DataSource an die LOOKUPSOURCE-Eigenschaft der ComboBox kommt die Fehlermeldung mit TTable, siehe Bild.

Edit: Eine Info die mir noch einfällt. Die ADO-Connection als auch die Tabellennamen werden den TADOTable-Komponenten dynamisch zugewiesen. Vllt. liegt da das Problem.
Miniaturansicht angehängter Grafiken
oi_mecker.jpg  
Ralph

Geändert von Jumpy (28. Mär 2011 um 15:15 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Wie funktioniert TBLookupCombo

  Alt 28. Mär 2011, 16:09
Dann würde ich auch die LookupSource dynamisch zuweisen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Wie funktioniert TBLookupCombo

  Alt 28. Mär 2011, 16:39
Hi,

gibt es einen Grund, statt TDBLookupComboBox die alten Kompatibilitätskomponenten von Windows 31 (TDBLookupCombo) zu verwenden?
Die können wahrscheinlich nur mit TTable.

Frank
Miniaturansicht angehängter Grafiken
nimm_die.jpg  
Frank Reim

Geändert von dataspider (28. Mär 2011 um 16:43 Uhr)
  Mit Zitat antworten Zitat
Jumpy

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

AW: Wie funktioniert TBLookupCombo

  Alt 29. Mär 2011, 07:47
Dann würde ich auch die LookupSource dynamisch zuweisen
Hat leider auch nicht funktioniert. Aber egal, da:


Hi,
gibt es einen Grund, statt TDBLookupComboBox die alten Kompatibilitätskomponenten von Windows 31 (TDBLookupCombo) zu verwenden?
Die können wahrscheinlich nur mit TTable.
Frank
Der Grund war Unwissenheit gepaart mit Dummheit. Mein Ausbilder hat gesagt "Benutz die DB-Combo, wo man in einer Wertetabelle nachschlagen kann" oder so ähnlich, also hab ich im Suchfenster der tool-Palette brav "TDBCom" eingetippt und bin die Erscheinende Liste (siehe deinen Screen-Shot) von oben nach unten durchgegangen und hab das erste genommen, was sich richtig anhörte TDBLookupCombo halt (Das war die Unwissenheit). Das das zu Win 3.1 gehörte und das drei Zeilen tiefer TDBLookupComboBox stand, hab ich nicht (mehr) gehsehen (das war die Dummheit).

Mit TDBLookupComboBox klappst dann aber Wunderbar.


P.S.: Und der Tipp von Sir Rufo klappt mit der Komponente natürlich dann auch. Ich sag nur: Kaum macht mans richtig...

Danke euch allen!
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

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

AW: Wie funktioniert TBLookupCombo

  Alt 29. Mär 2011, 20:51
Hallo Jumpy...
in deinem Profil steht Delphi 6 Enterprise. Deine Screenshots zeigen aber ein aktuelleres Delphi. Aktualisiere doch bitte dein Profil, damit die Helfer nicht von falschen Voraussetzungen ausgehen...
  Mit Zitat antworten Zitat
Jumpy

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

AW: Wie funktioniert TBLookupCombo

  Alt 30. Mär 2011, 09:11
Ich arbeite als kleiner Azubi (nur) an Delphi 6 (daher der Hinweis im Profil), durfte Ausnahmsweise mal an eine D10 Maschine. Hatte daher im Eröffnungsthread auf D10 hingewiesen. Sollte das in Zukunft öfter vorkommen, dass ich an D10 ran darf, werd ich natütlich mein Profil anpassen.
Ralph
  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 00:03 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