Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi In DB von Nachschalge Tabelle nur Index speichern (https://www.delphipraxis.net/59610-db-von-nachschalge-tabelle-nur-index-speichern.html)

Christian18 25. Dez 2005 20:03

Datenbank: Paradox • Version: 7 • Zugriff über: BDE

In DB von Nachschalge Tabelle nur Index speichern
 
Hallo,

ich will meine Datenbanken ein bisschen kleiner machen. Ich habe bei einer Tabelle zum Beispiel ein Feld Anrede. In meinem Programm kann man das über eine DBLookUpComboBox füllen. Also habe ich auch eine Nachschlage Tabelle. meine Idee war jetzt nur den Index von der Nachschlage Tabelle in die eigentliche Tabelle zu speichern. Mein Frage ist jetzt wie ich das machen kann. Muß ich das in Delphi Programmieren oder kann man das bei den Tabellen im Objektinsprektor irgendwo einstellen??? Wenn ich zum beispiel einen Datensatz in der Kontakt DB ändern will. habe ich bis jetzt den Index in dem Feld drinn stehen. wie kann ich das so machen das delphi in der Nachschlage tabelle schaut was der Index zu bedeuten hat??? Ist es überhaupt ohne Delphi code möglich??? Ich habe gesehen wenn mann auf die Tabelle doppelt klickt und dann einfeld auswählt, dann gibt es da eine eigenschaft LookUpDataset. Kann man es damit machen???

MFG und Frohe Weihnachten

Christian18

Hansa 25. Dez 2005 20:33

Re: In DB von Nachschalge Tabelle nur Index speichern
 
Was Du meinst heißt : "foreign key". Wenn jeder Datensatz einer Tabelle eine eindeutige Nr. hat, z.B. ID, dann speichert man in seiner Adresstabelle in einem Feld z.B. ID_Anrede (das ist der foreign key) und der enthält den Wert der ID des entsprechenden Datensatzes der Anrede-Tabelle. Wie das jetzt genau mit der Paradox/BDE geht weiß ich nicht. Sollte mit AutoInc-Feldern möglich sein. Die BDE interessiert mich nämlich schon seit Jahren genausoviel wie Borland auch : überhaupt nicht. :mrgreen:

Christian18 25. Dez 2005 20:37

Re: In DB von Nachschalge Tabelle nur Index speichern
 
Hallo Hansa,

ich finde die BDE auch nicht so toll. aber das ist ein altes großes Projekt und da will ich jetzt nicht mit einer Umstellung anfangen. Solange die BDE noch funktioniert werde ich sie auch weiter verwenden. Bei neuen Projekten verwende ich die BDE und Paradox auch nicht mehr.

PS: Vielen Dank schon mal für deine Hilfe. Vieleicht weiß jemand trotzdem wie ich das mit der BDE machen kann.

MFG Christian18

marabu 25. Dez 2005 20:39

Re: In DB von Nachschalge Tabelle nur Index speichern
 
Frohe Weihnachten, Christian18.

Deine Vermutung ist richtig. Wenn du eine TTable-Komponente verwendest, dann kannst du das Feld in deiner Kontakte-Tabelle, welches den Schlüssel für die Anrede enthält, als Lookup-Feld kennzeichnen (FieldKind = fkLookup). Welche Eigenschaften du dann noch initialisieren musst, kannst du gut im Table-Editor sehen (Doppelklick auf Table-Komponente und Einfügen neues Feld).

Grüße vom marabu

Christian18 26. Dez 2005 10:40

Re: In DB von Nachschalge Tabelle nur Index speichern
 
Hallo,

ich habe es mal versucht. Ich bin leider noch zu keinem erfolg gekommen. Kann mir jemand weiterhelfen??? Ich die Eigenschaften die ich gesetzt habe.

Eigenschaften:

FieldKind: fkLookUp

KeyFields: ID_Anrede

LookupDataSet: Table1

LookupKeyField: ID

LookupResultField: Anrede

Hier meine Tabellen:

Table 1: (Kontakttabelle)

ID + *
Anrede I
Vorname A 30
Name A 30

Table 2: (Nachschlagetabelle)

ID + *
Anrede A 50

So ich denke das ist alles was ihr an Infos braucht. Wenn ich was vergessen habe, dann einfach einen Post was fehlt.

MFG Christian18

Hansa 26. Dez 2005 10:56

Re: In DB von Nachschalge Tabelle nur Index speichern
 
Wenn die Nomenklatur überhaupt so richtig ist (was ist ID+* ? :shock:) so ist es etwas komisch, daß die LookUpTable mit der Table1 = Kontakte verknüpft ist. Das sieht so auus, als ob in der Kontakttabelle nach einem Lookup-Feld der Kontakttabelle gesucht wird.

Christian18 26. Dez 2005 11:00

Re: In DB von Nachschalge Tabelle nur Index speichern
 
Zitat:

Zitat von Hansa
Wenn die Nomenklatur überhaupt so richtig ist (was ist ID+* ? :shock:) so ist es etwas komisch, daß die LookUpTable mit der Table1 = Kontakte verknüpft ist. Das sieht so auus, als ob in der Kontakttabelle nach einem Lookup-Feld der Kontakttabelle gesucht wird.

Hallo Hansa,

ID --> Feldbezeichnung

+ --> Automatisch Zahlendes Feld

* --> Primärschlüssel

Ich denke jetzt weißt du was ich damit meine.

MFG Christian18

Hansa 26. Dez 2005 11:25

Re: In DB von Nachschalge Tabelle nur Index speichern
 
BDE hin oder her. Hier ist doch ein offensichtlicher Fehler :

Delphi-Quellcode:
KeyFields: ID_Anrede

LookupDataSet: Table1

Table 1: (Kontakttabelle)
IMHO ist das ein allgemeingültiger falscher Fehler. :mrgreen: Das LookupDataset muß die Table mit der Anrede sein und nicht die Kontakttabelle (die ja in anderer nachschlagen soll) selber.

Christian18 26. Dez 2005 17:07

Re: In DB von Nachschalge Tabelle nur Index speichern
 
Hallo,

irgendwie bekomme ich das nicht hin. Hat jemand vieleicht ein Bsp, wo ich dann die einzelnen Schritte nachfolziehen kann???

MFG Christian18

Christian18 28. Dez 2005 12:21

Re: In DB von Nachschalge Tabelle nur Index speichern
 
Hallo,

hat echt niemand ein Bsp. wie ich sowas machen kann??? Mache ich vieleicht was falsch??? Ich probiere schon seit einigen Tagen jetzt das Problem in den griff zu bekommen. aber ich schaffe es einfach nicht. Könnt ihr mir nochmal helfen??? und ein kleines bsp schicken??? (also Postanhang)

MFG Christian18


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 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