AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi [SQL]mehrere abhängige Tabellen speichern
Thema durchsuchen
Ansicht
Themen-Optionen

[SQL]mehrere abhängige Tabellen speichern

Ein Thema von Hansa · begonnen am 14. Dez 2003 · letzter Beitrag vom 15. Dez 2003
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

[SQL]mehrere abhängige Tabellen speichern

  Alt 14. Dez 2003, 20:38
Hi,

es geht um Master-Detail-Subdetail. Ich ordne z.B. eine Warengruppe einem Artikel zu mit einer DBlookup-Box. Das ist ja kein Problem. Aber wie sieht folgendes aus : angenommen ich will eine Rechnung schreiben und eine Statistik darüber führen. Die Artikeltabelle wäre dann die Mastertabelle für z.B. die Rechnungspositionen. Aber auch eine Detailtabelle für die Warengruppen. Wie gehe ich jetzt am besten mit diesem Geflecht an Daten um ? Bei fast allen Beispielen wird immer nur eine Tabelle verwendet. Was aber wenn die gegenseitig in Abhängigkeit stehen und alle aktualisiert werden müssen ? Es geht mir hier nicht darum, auf die Daten zuzugreifen, um sie anzuzeigen, sondern wie ich sie einfach und sicher in die DB erst mal einfüge.

Bei allen datensensitiven Steuerelementen kann ich nur eine Datenquelle angeben. Wie soll ich dann z.B. in einem DBgrid die Daten von 3 versch. Tabellen rein kriegen ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Matt

Registriert seit: 13. Nov 2003
Ort: Hamburg
212 Beiträge
 
#2

Re: [SQL]mehrere abhängige Tabellen speichern

  Alt 15. Dez 2003, 04:11
Wenn Du Master-Detail Tabellen hast, hast du ja auch einen Index, über den die einzelnen Tabellen mit einander in Beziehung stehen. Wenn Du in Tabelle1 etwas änderst und die mit Tabelle2 über eine ID verbunden ist, wird dank der referentiellen Intigrität (oder wie das heißt) die Aktualisierung an Tabelle2 weitergegeben.

Drei Tabllen in ein DBGRid zu bekommen geht meines Wissens nur über ein Query (SQL):

Code:
SELECT Tabelle1.ID, Tabelle1.Feld1, Tabelle1.Feld2, Tabelle1.Feld3, Sum(Tabelle2.Preis) AS Gesamtpreis
FROM Tabelle1 LEFT JOIN Tabelle2 ON Tabelle1.ID = Tabelle2.ID2
GROUP BY Tabelle1.Feld1, Tabelle1.Feld1, Tabelle1.Feld2, Tabelle1.Feld3;
Wobei ID und ID2 die jeweiligen Felder sind über die die Tabellen in Beziehung stehen.

Hoffe ich habe Deine Frage richtig verstanden!

Gruß Matt

EDIT:
In dem Beispiel werden z.B. alle Rechnungsfelder aus Tabelle1 ausgelesen und die Summe der einzelnen Position aus z.B. der Rechnungsdetails Tabelle2 errechnet!
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: [SQL]mehrere abhängige Tabellen speichern

  Alt 15. Dez 2003, 10:09
Danke für die Antwort. Aber auch hier geht es wieder mal nur um das Anzeigen der Daten. Also nochmals: Angenommen ich habe eine Art.-Table. Jetzt gebe ich die Art.Nr. ein und will erreichen, daß:

1. neue Rechnungspositionen eingefügt werden
2. der Lagerbestand aktualisiert wird
3. eine Statistik geführt wird.

Ist dies alles erst mal in der Datenbank drin, ja dann kann ich mit JOINS, SUM usw. hantieren. Vorerst interessiert das aber nicht. Was ist also jetzt in dem Beispiel wie zu tun ?

Langsam beschleicht mich das Gefühl, daß zumindest hier keiner mit mehr als einer Tabelle arbeitet. Dann frage ich mich aber, warum ab und zu Fragen über Trigger u.Ä. auftauchen. Und bei einer Tabelle spielt die referentielle Integrität absolut keine Rolle, da es eben keine Referenzen gibt.
Gruß
Hansa
  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 16:43 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