![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: TQuery
Suche geeignete Komponente ?
hallo,
ich hab bei einer datenbank gesehen das bei einen eingabefeld schon vorgegebene sachen drinnen stehen wie zb. title des eingabefeldes kohlenhydrate und dann kann man verschiedene schon auswählen ohne das man sie selber eingeben muß wie zb. brot ,nudeln,reis usw... welche komponente brauche ich dazu und wie weise ich die einzelnen sachen zu ? mfg vader |
Re: Suche geeignete Komponente ?
Meinst du de LookupComboBox oder ein Edit mit Autocompletion?
|
Re: Suche geeignete Komponente ?
hallo,
ja LookupComboBox , wie weise ich der die sachen bzw wörter zu ? mfg vader |
Re: Suche geeignete Komponente ?
Kommen die Daten aus einer Datenbank? Mit der Eigenschaft .ListSource kannst du die Komponente mit einem DataSet (Table, Query, usw.) verbinden. mit .ListField kannst du das Feld des DataSets auswählen, welches in der Liste angezeigt wird.
|
Re: Suche geeignete Komponente ?
habe ich gemacht, aber es zeigt mir in der LookupComboBox nichts an ?
mfg vader |
Re: Suche geeignete Komponente ?
In der Auswahl (Edit) oder der Liste?
|
Re: Suche geeignete Komponente ?
In der Auswahl (Edit) zeigt er mir nichts
mfg vader |
Re: Suche geeignete Komponente ?
Hast du auch .DataSource und .DataField gesetzt?
|
Re: Suche geeignete Komponente ?
ja, und bei laufzeit des programmes werden die daten nicht im LookupComboBox angezeigt ?
mfg vader |
Re: Suche geeignete Komponente ?
jetzt hat's gefunzt, aber das wollte ich ja gar nicht, ich habe eine datenbank Bestellungen und ein dbedit
wo ich bei einer bestellung immer händisch eintragen muß wer das in der firma bestellt zb. lager oder einkauf oder instandhaltung usw, da möchte ich im dbedit oder welche komponente das kann gleich den auswählen den ich brauche, aber der muß dann im dbgrid im datensatz angezeigt werden ! mfg vader |
Re: Suche geeignete Komponente ?
nein , das war es nicht was ich wollte also keine LookupComboBox !!!!
ich habe eine datenbank die Bestellungen heißt und ein dbedit wo ich bei einer bestellung immer händisch eintragen muß wer das in der firma bestellt zb. lager oder einkauf oder instandhaltung usw, da möchte ich im dbedit oder welche komponente das kann gleich den auswählen den ich brauche, aber der muß dann im dbgrid im datensatz angezeigt werden ! mfg vader |
Re: Suche geeignete Komponente ?
kann mir da keiner weiter helfen ?
mfg vader |
Re: Suche geeignete Komponente ?
Hallo Vader,
ich fürchte, dass du dich mit der Gestaltung der Benutzerschnittstelle beschäftigst ohne vorher ein Datenmodell entwerfen zu haben. Zuerst musst du festlegen, welche Informationen (Attribute) du zu jeder Entität speichern willst: BESTELLUNG: ZEITPUNKT, BESTELLER, LIEFERANT, WARE, MENGE Aus der Entität (Bestellung, Singular) machst du dann eine Tabelle (BESTELLUNGEN, Plural). Dabei wird ein Primärschlüssel (ID, Autoincrement) hinzugefügt und für jedes Attribut geprüft, ob es selbst wieder eine Entität sein könnte (LIEFERANT, GEGENSTAND) oder ob ein fester Wertebereich existiert (BESTELLER: Lager, Einkauf). In solchen Fällen werden neue Entitäten (mit Attributen) und Pseudo-Entitäten (ohne Attribute, nur für Lookup) gebildet, aus denen du dann auf gleiche Weise Tabellen ableitest: BESTELLUNGEN: ZEITPUNKT, BESTELLER_ID, WAREN_ID, MENGE BESTELLER: ID, NAME WAREN: ID, BEZEICHNUNG, LIEFERANTEN_ID, LIEFERZEIT LIEFERANTEN: ID, NAME, TELEFON Wenn du dann die Bestellungen in einem DBGrid erfassen willst, dann unterlegst du einfach die Tabelle BESTELLUNGEN mit statischen Feldern (Feld-Editor), machst alle Schlüsselfelder unsichtbar und fügst für die Fremdschlüssel (BESTELLER_ID, WAREN_ID) entsprechende Lookup-Felder (BESTELLER, WARE) hinzu. Danach kannst du dann im Feld BESTELLER aus dem Wertevorrat der Tabelle BESTELLER anhand von BESTELLER.NAME den korrekten BESTELLER.ID in das Feld BESTELLUNGEN.BESTELLER_ID eintragen. Grüße vom marabu PS: Wenn du ohne Grid arbeiten möchtest, dann musst du eine DBLookupComboBox anstelle deines DBEdit verwenden. |
Re: Suche geeignete Komponente ?
danke für die information marabu, werd das einmal probieren !
|
Re: Suche geeignete Komponente ?
hallo marabu,
habe gleich eine frage: ain deinem beispiel müßte ich jetzt 4 tabellen anlegen BESTELLUNGEN BESTELLER WAREN LIEFERANTEN ist das richtig ? mfg vader |
Re: Suche geeignete Komponente ?
Ja, aber mein Beispiel ist synthetisch. Kannst du es nachvollziehen, dann kannst du es auch an deine Bedürfnisse anpassen.
marabu |
Re: Suche geeignete Komponente ?
mkinzler schreibt
Zitat:
datenbank genügen, ich brauche ja nur das detail im moment, und keine verknüpfungen zwischen tabellen !! mfg vader |
Re: Suche geeignete Komponente ?
Ja, wobei die Tabelle BESTELLUNGEN, Fremdschlüssel auf die anderen Tabellen besitzt
|
Re: Suche geeignete Komponente ?
Zitat:
|
Re: Suche geeignete Komponente ?
hallo,
ok dann arbeite ich mal durch und hänge schon, welchen typ muß ich ID geben, alpha oder numerisch usw... ? mfg vader |
Re: Suche geeignete Komponente ?
Zitat:
Zitat:
marabu |
Re: Suche geeignete Komponente ?
ich finde nur den typ + - ( Zähler ) an bei mir das meinst du ?
mfg vader |
Re: Suche geeignete Komponente ?
Zitat:
|
Re: Suche geeignete Komponente ?
danke,
mfg vader |
Re: Suche geeignete Komponente ?
hallo,
marubu schreibt Zitat:
mfg vader |
Re: Suche geeignete Komponente ?
Es bietet sich an für alle ID-Spalten aller Tabellen diesen datentyp zu nehmen.
|
Re: Suche geeignete Komponente ?
jetzt habe in meiner tabelle bestellungen ID + *
Besteller_ID + Waren_ID + Menge N angelegt, aber wenn ich die tabelle speichern will kommt die fehlermeldung " Tabellen dürfen nur ein Nummernfeld haben ? mfg vader |
Re: Suche geeignete Komponente ?
Gib jedem ID-Feld den Typ Autoincrement (+) wenn es ein Primärschlüssel ist (WAREN.ID) und gib ihm den Typ Integer (I) wenn es ein Fremdschlüssel ist (alle Felder mit Endung _ID).
marabu |
Re: Suche geeignete Komponente ?
Ich gabe deine letzte Frage falsch verstanden in dieser tabelle sind die Felder ja fremdschlüssel und brauchen somit den typ Numeric.
|
Re: Suche geeignete Komponente ?
Liste der Anhänge anzeigen (Anzahl: 1)
hallo,
habs versucht aber es funzt nicht , hab mein projekt hier mal angehängt, was habe ich da falsch gemacht ? mfg vader |
Re: Suche geeignete Komponente ?
Die .KeyField-Eigenschaften der DBLookupComobos sind falsch. Hier mußt du die ID-Felder auswählen, da sie ja als FK-Felder in die Bestellungen-Tabelle geschrieben werden.
|
Re: Suche geeignete Komponente ?
Liste der Anhänge anzeigen (Anzahl: 1)
ja aber irgenwas passt nicht, ich sehe jetzt im DBGrid nur die ID-Nummern, ich möchte ja Bestellername und
Warenbezeichnung auch sehen ? mfg vader |
Re: Suche geeignete Komponente ?
Dann mußt du die Abfrage, die hinter dem Grid liegt so ändern das du die Bestellung-Tabelle (Master) mit den Bezeichnungen aus den Detail-Tabellen joinst.
|
Re: Suche geeignete Komponente ?
das versteh ich jetzt aber nicht ?
mfg vader |
Re: Suche geeignete Komponente ?
hallo,
marabu schreibt: Zitat:
und die lookup -felder im dbgrid ? mfg vader |
Re: Suche geeignete Komponente ?
Ändere die Abfrage von Query3 auf:
SQL-Code:
select
b.ID, be.NAME, w.BEZEICHNUNG, b.menge from bestellungen b, Besteller be, Waren w where be.ID = b.Besteller_id and w.ID = b.Waren_id; |
Re: Suche geeignete Komponente ?
Liste der Anhänge anzeigen (Anzahl: 1)
kommt der fehler ?
mfg vader |
Re: Suche geeignete Komponente ?
Hast du auch was an Query2 geändert?
|
Re: Suche geeignete Komponente ?
nein habe ich nicht !
mfg vader |
Re: Suche geeignete Komponente ?
hallo,
wie ich den code in query3 reingeschrieben habe ist dann der fehler sofort gekommen !!!!
Delphi-Quellcode:
select
b.ID, be.NAME, w.BEZEICHNUNG, b.menge from bestellungen b, Besteller be, Waren w where be.ID = b.Besteller_id and w.ID = b.Waren_id; was ist da falsch ? mfg vader |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz