Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBLookupCombobox...mal wieder ! (https://www.delphipraxis.net/24505-dblookupcombobox-mal-wieder.html)

Teclis 22. Jun 2004 10:52


DBLookupCombobox...mal wieder !
 
Moinsen,
habe mich nun schon länger mit der DBLookupcombobox rumgeschlagen und bekomme Sie einfach nicht so zum fliegen wie ich will !
Kann mal einer von Euch ' wissenden' :mrgreen: was über die möglichen Variablentypen schreiben ?
Meine Keyfelder sind in meinen Tabellen natürlich Integer...geht ja auch nicht anders, wenn ich Autoinc brauche !
Damit arbeitet die Komponenete aber nicht !!!
Die scheint immer nur mit Strings zu arbeiten...was für ein Keyfeld ja nicht sehr sinnig ist ! Habe auch schon viel über die richtige Verteilung der Felder in der Komponente gelesen, das funzt ja auch ! Aber wie gesagt nur mit String Variablen ! :?

AAAAAAAAAAAAAHHHHHHHHHHH :cry:

Albi 22. Jun 2004 11:05

Re: DBLookupCombobox...mal wieder !
 
Schau mal hier, da habe ich es gerade geschrieben.

Das ist ja richtig, in Liste werden dir z.B. Namen angezeigt, diese sind über den PK eindeutig indentifiziert. Dann kannst Du den Namen anzeigen und über den Schlüssel der 2 DB werden dir dann dir restlichen Daten angezeigt. Das ganze kann nicht nur mit fremdschlüsseln funktionieren. Wäre ja auch ein wenig sinnlos, nur Zahlen anzeigen zu lassen, da man damit nicht allzuviel anfangen kann.

Sharky 22. Jun 2004 11:13

Re: DBLookupCombobox...mal wieder !
 
Hai Teclis,

eigentlich ist es ganz einfach. Primär ist eine DBLookupComboBox ja dafür da einen Wert aus einer Tabelle in eine andere einzutragen.

Hier die wichtigsten Felder:

.DataSource ist die Datasource der Tabelle in die etwas geschreiben wird.
.DataField ist das Feld das geändert wird in der Tabelle in die etwas geschreiben wird.
.ListSource ist die Datasource aus der die Werte kommen die in .DataSource/.DataField geschrieben werden sollen.
.KeyField ist das Feld aus .ListSource das die Daten die geschrieben werden beinhaltet.
.ListField ist das Feld aus .ListSource das Angezeigt wird.

z.B.
Tabelle 1
aufbau
name : VChar
anrede_id : Integer

Code:
name   anrede_id
sharky 1
blubb  1
otto   2

Tabelle2
aufbau
id : Integer
text : VChar
Code:
id  text
1    Herr
2    Frau
3    Firma
So, wenn Du nun diese Eigenschaften setzt:
.DataSource := Tabelle1
.DataField := anrede_id
.ListSourece := Tabelle2
.KeyField := id
.ListField := text

Kannst Du in der DBLookupCombobox die Anreden auswählen. In den Datensätzen von Tabelle1 wird aber immer "nur" die ID der Anrede aus Tabelle2 gespeichert.

Ufff... ich hoffe das ist einigermassen zu verstehen.

Teclis 22. Jun 2004 12:03

Re: DBLookupCombobox...mal wieder !
 
Hallo und danke für die schnelle Reaktion,

also....das ist ja auch alles richtig ... habe ich ja auch so verstanden.
Mein Problem ist dann, das ich folgende Meldung bekomme:

Zitat:

Das Feld 'ID' kann nicht als variant angesprochen werden.'
@ Sharky: Ich habe deine Angaben sogar in einem kleinen Projekt genau so ausprobiert und bekomme die selbe Fehlermeldung ! Es macht halt den Eindruck, das er den Key nur in ein String (Variant) Feld schreiben kann !

Es funzt erst, wenn ich folgendes ändere:

Tabelle 1
aufbau
name : VChar
anrede_id : Integer ---> varchar

Tabelle2
aufbau
id : integer ---->varchar

Dann arbeitet es so, wie ich es mir vorstelle ! Dazu müsste ich aber meinen Primarykey der Tabelle 2 auf varchar umstellen..das kanns doch nicht sein !

Teclis :bounce2:

Sharky 22. Jun 2004 12:08

Re: DBLookupCombobox...mal wieder !
 
Zitat:

Zitat von Teclis
... Dazu müsste ich aber meinen Primarykey der Tabelle 2 auf varchar umstellen..das kanns doch nicht sein !...

Hmmm.... geht bei mir immer ohne Probleme. Was für eine Datenbank hast Du denn? Eventuell ist das Wort ID dort ein reservierter Bezeichner. Ändere doch einfach einmal den Spaltennamen von ID in etwas anderes.

Teclis 22. Jun 2004 12:21

Re: DBLookupCombobox...mal wieder !
 
Hallo Sharkey,

ich habe einen MYSQL am laufen, werde das aber nochmal mit der BDE jetzt nachstellen !
Um auszuschliessen, das es deshalb nicht funzt. :cyclops:

Teclis :mrgreen:

Sharky 22. Jun 2004 12:23

Re: DBLookupCombobox...mal wieder !
 
Zitat:

Zitat von Teclis
...ich habe einen MYSQL am laufen, ...

Wie greifst Du darauf zu? Mit den Zeos-Komponenten?

Teclis 22. Jun 2004 12:51

Re: DBLookupCombobox...mal wieder !
 
Neeee....mit



DAC4MYSQL

Ist eine kleine Gruppe mit netten kleinen Komponenten...meinste könnte daran liegen..???
Hmmm...ich probier mal eine andere !

Habe es mal mit clientdatasets nachgebaut, da geht alles !

Teclis :wall:

Sharky 22. Jun 2004 12:55

Re: DBLookupCombobox...mal wieder !
 
Zitat:

Zitat von Teclis
...Habe es mal mit clientdatasets nachgebaut, da geht alles !...

Habe es auch eben mit den Zeos und meinem mySQL gemacht. Geht ohne Probleme.

Teclis 22. Jun 2004 13:10

Re: DBLookupCombobox...mal wieder !
 
Bin gerade dabei die Zeos zu installieren, bekomme aber beim aktivieren der ZConnection die Fehlermeldung :

Requested Database Driver not found !

MYSQL Connector/ODBC Treiber ist aber installiert !

Gibt es noch irgendwas zu beachten ???

Danke Teclis


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:43 Uhr.
Seite 1 von 2  1 2      

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