Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

aktuelle Datensätze an Alte Datensätze anhängen





Frage

guten morgen, hätte mal eine Frage. Ich habe eine Tabelle tblAusgangstabelle mit den Spalten Kategorie & Keyword. Jetzt importiere ich mir aus Excel in eine temporäre Tabelle tblEntwurf aktuelle Zahlen... die tblEntwurf enthält dann die Spalten Kategorie, Keyword und eine 3 Spalte mit dem aktuellen Datum (z.B. 12.09.2007) Jetzt hätte ich es gern so, dass ich über eine Art "Anfügeabfrage" mir in der tblAusgangstabelle eine Spalte mit dem aktuellen Datum erstellt wird und dann die neuen Datensätze an die Alten angeknüpft wird. Das das ganze dann irgendwann so aussieht. Spalten in tblAusgangstabelle: Kategorie, Keyword, 12.09.2007, 13.09.2007, 14.09.2007 usw... Das man die Daten vergleichen kann. Wenn dann ein Datensatz hinzukommt, der bisher noch nicht existiert hat, soll er alphabetisch einsortiert werden. Dann existiert für diesen Datensatz halt erst Werte ab dann wo er neu hinzu kam. Mein größtes Problem bei der Sache ist eigentlich, dass wenn ich mit einer INSERT INTO SQL Befehl arbeite, mir die Daten nicht an die Alten Datensätze angehängt werden, sondern neue Datensätze angefügt werden wo dann nur die Neue Spalte befüllt ist. Kann mir da jemand helfen? gruß morpheus

Antwort 1 von Teddy7

Das hört sich so an, als wäre Deine DatenOrganisation nicht in Ordnung.
Bewegungsdaten sollen grundsätzlich in einer eigenen Tabelle gespeichert werden - natürlich mit einem Schlüssel, der die Verbindung zur Stammtabelle erlaubt.

Dann hast Du auch kein Problem mit Daten anfügen.

Gruß
Teddy

Antwort 2 von morpheus__85

Das Problem ist aber, dass ich dann diese Tabelle als Datenbasis für ein Pivot in Excel hernehmen möchte. Wenn ich jetzt die Tagesdaten mit einem Schlüssel in eine TAbelle ablege habe ich später beim Pivot die Schlüssel-ID´s stehen und nicht die gewünschten Namen.
Aber mein Problem ist ja auch, selbst wenn ich jetzt eine Eigene Tabelle für die Tagesdaten habe, z.B. mit ID, 12.09.2007 also Basis und möchte dann morgen die Daten für den 13.09.2007 dran hängen...
wie muss ich das anstellen?
wenn ich das wie ich probiert habe mit einem Inser Into mache, hängt er die neuen Daten nicht an die bisherigen an sondern legt neue Datensätze an und das ist ja nicht mein Ziel

Beispiel:
ID ist 1
12.09.2007 ist 10

jetzt kommt der 13.09.2007

jetzt soll es so aussehen die Tabelle
ID ist 1
12.09.2007 ist 10
13.09.2007 ist 20 (z.B.)

wenn ich das mit der Insert Into mache siehts aber so aus
ID ist 1
12.09.2007 ist 10

und dann legt er einen 2 DAtensatz an
ID ist leer
12.09.2007 ist leer
13.09.2007 ist 20

kann mir da jemand helfen, wie ich die Daten anhängen kann ohne das neue Datensätze erzeugt werden?
gruß
morpheus

Antwort 3 von Teddy7

Das ist etwas undurchsichtig. Du mußt doch in der Exceltabelle irgendwas stehen haben, das eine Herleitung dieser ID = 1 (ich nehme mal an, das ist die Verknüpfung zu den Stammdaten) ermöglicht.

Beispiel:
1) Tabelle tblKunde mit ID = 1 und Name = Hugo
2) Tabelle tblBewegung mit ID, Datum, Menge

Excelblatt mit ID, Datum, Menge

Dann kann man in der Tabelle tblBewegung einfach mit Anfügeabfrage die Daten hinzufügen.

Dann kann man eine normale Abfrage machen mit tblKunde und tblBewegung, verknüpft über ID.(so hat man den Kundennamen wieder dabei)

Über diese Abfrage macht man dann eine Pivotabfrage und hat die Daten ´"Excel-like". (Ich als Programmierer mache da lieber einen VBA-Code, der eine Muster-Exceldatei öffnet, die Werte reinschreibt und die Exceltabelle unter einem anderen Namen speichert).

Gruß
Teddy

Antwort 4 von morpheus__85

Hallo Teddy

die ID kann ich anhand des Namens bilden, da jeder Name eindeutig und einmalig ist.
Ich wollte es aber so haben, dass ich dann bei der Abfrage jeweils eine neue Spalte erstellt, mit Spaltenüberschrift dem heutigen Datum also dem aktuellen Datum, dass ich dann die Werte Spalte für Spalte, Tag für Tag betrachte und dann in Excel einlesen bzw als Pivot auswerten kann.

gruß
morpheus

Antwort 5 von Teddy7

Hab ich auch so verstanden. Um es ganz deutlich zu sagen: ich halte das für so großen Unsinn, dass ich dabei nicht helfen werde.