AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBLookupCombobox oder Combobox oder ganz anders?
Thema durchsuchen
Ansicht
Themen-Optionen

DBLookupCombobox oder Combobox oder ganz anders?

Ein Thema von Emilio · begonnen am 14. Sep 2005 · letzter Beitrag vom 15. Sep 2005
Antwort Antwort
Emilio

Registriert seit: 14. Dez 2003
65 Beiträge
 
#1

DBLookupCombobox oder Combobox oder ganz anders?

  Alt 14. Sep 2005, 20:57
Datenbank: DBISAM • Version: 4.17 • Zugriff über: DBISAM
Hallo erstmal ...,

über DBLookupCombobox und sonstige Comboboxen ist ja schon ne Menge diskutiert und gechrieben worden, dennoch verschließt sich mir dieses Ding. Ich verwende folgende Komponenten und habe folgendes vor:


DBISAMtable1: Artikel, primkey: ARTID (autoInc) + 3 weitere sek.keys, Datasource 1
DBISAMtable2: Preise, primkey ARTID (Integer), Datasource 2

DBISAMqry1: Abfrage aus 4 Tabellen mit Datsource 3 ( die aus Integer-Salat Text macht und damit eine Preisliste darstellt)

Meine Vorstellung geht dahin, dass ich aus einer DBLookupCombox (welche tatsächlich schon das anzeigt, was sie soll) einen Artikel auswähle und in DBEdit- oder Edit-Feldern (nicht in einem Grid) die Daten des Datensatzes angezeigt werden - kriegs partout nicht hin.
Im Grunde genommen wäre Listsource und DataBinding-Source dieselben - was ja nicht geht (zirkulärer Bezug). Also mache definiere ich table 1 und table 2 eine Master-Detail-Beziehung über das primkey-Feld ARTID. Soweit alles schick, aber die Editfelder bleiben leer.

Hrrgmpf! In den DELPHI-Demos ist ein Beispiel (Demos\DB\MastApp, Order Form], in dem man aus einer DBLookupCombobox einen Wert auswählen kann und sich dann entsprechend dazu die TDBEdit-Felder mit den zugehörigen Daten füllen. Ich glaub ich seh den Wald vor Bäumen nicht - ich kann nicht nachvollziehen wie das gemacht wird.

Würde mich mächtig freuen, wenn mir jemand weiterhelfen könnte oder aber einen passenden Greenhorn-Almanach-Link weist.

VG Emilio
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: DBLookupCombobox oder Combobox oder ganz anders?

  Alt 15. Sep 2005, 06:03
Hallo Emilio,

die DBLookupComboBox ist keine Retrieval-Komponente, sondern dient der Eingabe in Datenbankfelder mit festem Wertebereich, der selbst auch wieder in einer DB-Tabelle gespeichert ist. Wenn du noch weitere datensensitive Komponenten auf deiner Form verstreust, die über eine DataSource mit der Lookup-Tabelle verknüpft sind, dann ändert sich natürlich auch deren Inhalt.

Grüße vom marabu
  Mit Zitat antworten Zitat
Emilio

Registriert seit: 14. Dez 2003
65 Beiträge
 
#3

Re: DBLookupCombobox oder Combobox oder ganz anders?

  Alt 15. Sep 2005, 08:28
Hi marabu,

Danke für Deine Antwort. Ähm, mit Verlaub, Deine Antwort bringt mich nicht weiter. Ich habe auch schon den Verdacht, dass die DBLookupCombobox nicht so ganz die richtige Wahl für mein Vorhaben sein könnte, aber da ich diese (oder eine Verwandte) in zig Anwendungen gesehen habe (wie auch im genannten Beispiel eine TDBLookupCombobox und TDBEditFelder verwendet werden) denke ich, dass sie doch dafür geeignet sein müsste.
Wenn nicht, wie dann machen?
Hinweis: die in den DBEdit-Feldern anzuzeigenden Daten sollen nicht editierbar sein - nur sichtbar. Da die tables 1 und 2 überwiegend Integer-Werte enthalten, macht es meiner Meinung nach Sinn, für die ListSource das genannte qry zu verwenden.

VG Emilio
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#4

Re: DBLookupCombobox oder Combobox oder ganz anders?

  Alt 15. Sep 2005, 09:07
Hai Emilio,

eigentlich sollte das gehen. Du hast also ein Query und eine DataSource. Die DataSource ist mit den DBEdits verbunden?
Jetz setzt Du einfach eine DBLookupComboBox auf die Form und trägst bei ListSource deine DataSource ein. Bei Listfield z.B die Artikelnummer und bei KeyField die ArtikelID. Bei DataSource und DataField nichts eintragen. Dann sollte es gehen.

Ich selber verwende allerdings fast keine DBxxxx Komponenten mehr sondern löse das immer mit den "normalen" Komponenten. Ich finde das ist flexiebler
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Emilio

Registriert seit: 14. Dez 2003
65 Beiträge
 
#5

Re: DBLookupCombobox oder Combobox oder ganz anders?

  Alt 15. Sep 2005, 09:33
Hi sharky,

Danke für Deine Antwort.
Habs gleich mal ausprobiert - hrgmpf! Tut leider nicht. Die CB funktioniert prima, aber die DBEdit-Felder bleiben auf dem ersten Datensatz stehen.
Muss man dem DBEdit-Feld nicht irgendwo oder irgendwie sagen, dass es sich aktualisieren soll?

VG Emilio
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: DBLookupCombobox oder Combobox oder ganz anders?

  Alt 15. Sep 2005, 09:36
Artikel und Preise stehen doch in einer Master-Detail Beziehung - wäre es da nicht sinnvoller diesen Sachverhalt auch nachzustellen (Preise.MasterSource = ArtikelSrc)?

marabu
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: DBLookupCombobox oder Combobox oder ganz anders?

  Alt 15. Sep 2005, 09:39
Ich hänge mal ein ganz einfaches Demo mit einer Tabelle in der DB an.

Aber wie schon gesagt. Ich mache das immer ohne DBxxxx sachen.
Angehängte Dateien
Dateityp: zip dblookupcombobox_115.zip (14,0 KB, 26x aufgerufen)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Emilio

Registriert seit: 14. Dez 2003
65 Beiträge
 
#8

Re: DBLookupCombobox oder Combobox oder ganz anders?

  Alt 15. Sep 2005, 09:53
Hi marabu,

Master-Detail habe ich abgebildet - Ergebnis bleibt das gleiche.

sharky,

Danke ich werds im Laufe des Tages ausprobieren - vielen Dank

VG Emilio
  Mit Zitat antworten Zitat
Emilio

Registriert seit: 14. Dez 2003
65 Beiträge
 
#9

Re: DBLookupCombobox oder Combobox oder ganz anders?

  Alt 15. Sep 2005, 10:47
Hi allerseits,

Danke sharky, Deine Demo habe ich mit meinen tables und queries gefüllt und ausprobiert - tut prima. Warums in meinem eigenen Entwurf nicht funktioniert hab ich noch nicht raus - der Unterschied ist, dass ich eine DBLookupComboBox von DevExpress verwende (verwendet habe). Ich glaube ich brauche nun nicht mehr an meinem Verstand zweifeln, sondern sollte mal die Supportabteilung von DEVExpress bemühen.

Vielen Dank für Eure Hilfe
  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 10:54 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