AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Feldnamen von 2 Tabellen verknüpfen?
Thema durchsuchen
Ansicht
Themen-Optionen

Feldnamen von 2 Tabellen verknüpfen?

Ein Thema von smart · begonnen am 24. Jun 2005 · letzter Beitrag vom 24. Jun 2005
Antwort Antwort
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#1

Feldnamen von 2 Tabellen verknüpfen?

  Alt 24. Jun 2005, 07:44
Datenbank: ABS • Version: 488 • Zugriff über: Datascore
Delphi-Quellcode:
Tabelle1

  Vorname | Name | Straße | Ort
  ------------------------------------
1 Udo Mustermann
2 Silke Musterfrau



Tabelle2

  Anrede
  ------------------------------------
 1 Herr
 2 Frau
  ….
Wie kann ich die Feldnamen von Tabelle1 mit Tabelle2 so verknüpfen, dass Herr und Frau richtig angezeigt werden?
Heike Kretschmann
  Mit Zitat antworten Zitat
marabu

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

Re: Feldnamen von 2 Tabellen verknüpfen?

  Alt 24. Jun 2005, 07:51
Du musst dazu das Schlüsselfeld von Tabelle 2 als Fremdschlüssel in Tabelle 1 aufnehmen. Anschließend kannst du die beiden Tabellen über einen Equi-Join verknüpfen:

SQL-Code:
SELECT t1.Anrede, t2.Vorname, t2.Name
FROM Tabelle1 t1, Tabelle2 t2
WHERE t1.id = t2.t1_id
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Feldnamen von 2 Tabellen verknüpfen?

  Alt 24. Jun 2005, 08:24
Zitat von marabu:
Du musst dazu das Schlüsselfeld von Tabelle 2 als Fremdschlüssel in Tabelle 1 aufnehmen. Anschließend kannst du die beiden Tabellen über einen Equi-Join verknüpfen:

SQL-Code:
SELECT t1.Anrede, t2.Vorname, t2.Name
FROM Tabelle1 t1, Tabelle2 t2
WHERE t1.id = t2.t1_id
Grüße vom marabu
Da bekomme ich immer so eine dumme Fehlermeldung:
Search condition is not applicable Heike.
Heike Kretschmann
  Mit Zitat antworten Zitat
marabu

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

Re: Feldnamen von 2 Tabellen verknüpfen?

  Alt 24. Jun 2005, 08:37
Wahrscheinlich, weil du die entsprechenden Schlüsselfelder noch gar nicht in deinen Tabellen angelegt hast.
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Feldnamen von 2 Tabellen verknüpfen?

  Alt 24. Jun 2005, 08:41
Zitat von marabu:
Wahrscheinlich, weil du die entsprechenden Schlüsselfelder noch gar nicht in deinen Tabellen angelegt hast.
Ja, Du hast Recht. Kann man die noch im Nachhinein anlegen ohne die Tabelle zu beschädigen?
Heike Kretschmann
  Mit Zitat antworten Zitat
marabu

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

Re: Feldnamen von 2 Tabellen verknüpfen?

  Alt 24. Jun 2005, 09:20
Nachträgliches ändern der Tabellenstruktur - dazu wünscht man sich ein Datenbankverwaltungs-Werkzeug. Wenn du keines hast, dann wirst du eine Prozedur schreiben müssen:

Delphi-Quellcode:
[p-code]
CreateNewTable; // jetzt mit Primärschlüssel
OpenOldTable;
while not oldTable.Eof do begin
  newTable.Edit;
  foreach oldField in oldFields do
    newFields.FieldByName(oldField.Name).Value := oldField.value;
  newTable.Post;
  oldTable.nextRecord;
end;
[/p-code]
Beim Primärschlüsselfeld musst du dir noch überlegen, wie die eindeutigen Schlüssel erzeugt werden sollen.

marabu
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Feldnamen von 2 Tabellen verknüpfen?

  Alt 24. Jun 2005, 09:26
Zitat von marabu:
Nachträgliches ändern der Tabellenstruktur - dazu wünscht man sich ein Datenbankverwaltungs-Werkzeug. Wenn du keines hast, dann wirst du eine Prozedur schreiben müssen:

Delphi-Quellcode:
[p-code]
CreateNewTable; // jetzt mit Primärschlüssel
OpenOldTable;
while not oldTable.Eof do begin
  newTable.Edit;
  foreach oldField in oldFields do
    newFields.FieldByName(oldField.Name).Value := oldField.value;
  newTable.Post;
  oldTable.nextRecord;
end;
[/p-code]
Beim Primärschlüsselfeld musst du dir noch überlegen, wie die eindeutigen Schlüssel erzeugt werden sollen.

marabu
Vielen Dank, damit komme ich schon weiter. Die Tabellen habe ich nicht selbst angelget, sind von einer Freundin. In den Tabbellen sind fast 400 Einträge. Wäre ein Jammer wenn man die neu eingeben müsste.

Heike.
Heike Kretschmann
  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 14:30 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