AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Jedes Feld in Tabelle vergleichen
Thema durchsuchen
Ansicht
Themen-Optionen

Jedes Feld in Tabelle vergleichen

Ein Thema von Mauli · begonnen am 6. Apr 2004 · letzter Beitrag vom 6. Apr 2004
Antwort Antwort
Benutzerbild von Mauli
Mauli

Registriert seit: 7. Apr 2003
Ort: Wuppertal
160 Beiträge
 
Delphi 2005 Enterprise
 
#1

Jedes Feld in Tabelle vergleichen

  Alt 6. Apr 2004, 11:20
Hallo zusammen,

ich suche ein möglichst geschickten Weg zwei Tabellen Feld für Feld zu vergleichen.

Ziel soll sein eine Vortagstabelle mit einer aktuellen zu vergleichen und in der aktuellen die Änderungen sichtbar machen.

Also wenn sich in der 32sten Zeile in der 3ten Spalte etwas geändert hat, dann möchte ich genauch das wissen und ggf. in einem Grid hervorheben

Vielleicht hat ja jemand so etwas schon gemacht.

Über ein kleines Codebeispiel wäre ich riesig dankbar!

Dank
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: Jedes Feld in Tabelle vergleichen

  Alt 6. Apr 2004, 11:48
So bekommst du nur die Einträge aus der Aktuellen Tabelle, die sich seit dem Vortag geändert haben.
SQL-Code:
SELECT *
FROM AktuelleTabelle
MINUS
SELECT *
FROM VortagsTabelle
  Mit Zitat antworten Zitat
Benutzerbild von Mauli
Mauli

Registriert seit: 7. Apr 2003
Ort: Wuppertal
160 Beiträge
 
Delphi 2005 Enterprise
 
#3

Re: Jedes Feld in Tabelle vergleichen

  Alt 6. Apr 2004, 11:58
Danke,

damit komme ich allerdings nicht an die Stelle in der Tabelle.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: Jedes Feld in Tabelle vergleichen

  Alt 6. Apr 2004, 11:59
Aber du kommst na alle geänderten Stellen.
Mit der Info kannst du dann machen, was immer du willst...
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Jedes Feld in Tabelle vergleichen

  Alt 6. Apr 2004, 12:00
Hallo Robert_G,

so viel ich weiß, wird MINUS weder von lacal SQL noch z.B. von Interbase/Firebird unterstützt!?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Mauli
Mauli

Registriert seit: 7. Apr 2003
Ort: Wuppertal
160 Beiträge
 
Delphi 2005 Enterprise
 
#6

Re: Jedes Feld in Tabelle vergleichen

  Alt 6. Apr 2004, 12:01
Das kommt dazu...

Ich habe das gerade auf dem MS SQL getestet. Mit zwei gleichen Tabellen. Da gibt die SQL die ganze Tabelle zurück
  Mit Zitat antworten Zitat
Nightfly

Registriert seit: 25. Mär 2004
Ort: Dresden
118 Beiträge
 
#7

Re: Jedes Feld in Tabelle vergleichen

  Alt 6. Apr 2004, 12:03
dann könnte man ja beide tabellen Joinen und ein select distinct machen,oder?
  Mit Zitat antworten Zitat
Benutzerbild von Mauli
Mauli

Registriert seit: 7. Apr 2003
Ort: Wuppertal
160 Beiträge
 
Delphi 2005 Enterprise
 
#8

Re: Jedes Feld in Tabelle vergleichen

  Alt 6. Apr 2004, 12:26
Das raffe ich nicht

Hast du mal ne SQL dazu?
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Jedes Feld in Tabelle vergleichen

  Alt 6. Apr 2004, 12:40
Hallo Mauli,

ich glaube nicht, dass der vorgeschlagene Weg von Nightfly zum Erfolg führt. "Joinen" würde man ja eher zwei verschieden Tabellen, die über einen Schlüssel miteinander verbunden werden sollen. Vielleicht meinte Nightfly auch nicht "Joinen" sondern so etwas wie UNION. Aber auch das hilft nicht bei deiner Frage, da ein SELECT DISTINCT ja auch nur mehrfach gleiche Einträge in einem Feld zu einem zusammenfasst. Ich bin der Meinung, dass du das Problem nicht sinnvoll über ein SQL Statement erschlagen kannst. Ich würde in einer Schleife durch die darzustellende Tabelle laufen und dann prüfen, ob ein Satz mit denselben Schlüsselfeldern auch in der "alten Tabelle" existiert. Diese beiden Einträge kannst du dann Feld für Feld vergleichen (ggf. auch über eine Schleife über das Fields-Array). Nach erstmaliger Suche nach geänderten Feldern, kannst du anschließend z.B. beim AfterPost Event nur noch den aktuell geänderten Satz anschauen und prüfen, ob hier eine Änderung stattgefunden hat.
Albert
Live long and prosper


MrSpock
  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 23:39 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