Access Datensaetze zusammenfuegen
Hi,
ich arbeite noch an einem Archivierungstool für Hardware etc.
So, ich habe diverse Tabellen erstellt für die jeweilige Komponente.
Z.B. tbl_Arbeitsspeicher
Diese Tabellen sind wie folgt aufgebaut
tbl_Arbeitsspeicher: RID , Seriennummer, RGroesse, RGeschwindigkeit
RID ist eine selbstkreiierte Zahl. Abhängig von der Anzahl der gefundenen Komponenten. Also bei 2 Speicherbausteinen ist die RID 0 und 1.
Die Seriennummer ist die Systemseriennummer und die Geschwindigkeit die Geschwindikeit des Rams.
RID und Seriennummer ergeben den Primary Key!
Die Tabelle mit einigen Beispieldaten sieht dann ca. so aus:
Nun, wenn ich einen Bericht erstelle erstellt er natürlich für jeden Datensatz einen Bericht. In dem obigen Fall also 8 Berichte.
Er soll aber nur 3 Erstellen. Also möchte ich die zusammengehörigen Datensätze addieren.
Also habe ich eine Abfrage erstellt die mir erst mal alle ausgibt wo die RID 0 ist, eine Abfrage für 1 usw. bis RID = 3
Diese Abfragen habe ich in einer erneuten Abfrage zusammengefasst. Nun gibt er mir nur den Datensatz aus mit der 098765. Dies aber korrekt mit 2048 MB. Aber die anderen Datensätze fallen raus. Logisch, wenn ich bis RID 1 gehe gibt er mir die ersten beiden aus.
Eine weitere Abfrage habe ich gemacht in der RID >= 0 ist und da ist das Ergebnis quasi das gleiche.
Ich weiss einfach nicht wie ich es schaffe, dass die Tabelle so aussieht
Jemand eine Idee?
ich arbeite noch an einem Archivierungstool für Hardware etc.
So, ich habe diverse Tabellen erstellt für die jeweilige Komponente.
Z.B. tbl_Arbeitsspeicher
Diese Tabellen sind wie folgt aufgebaut
tbl_Arbeitsspeicher: RID , Seriennummer, RGroesse, RGeschwindigkeit
RID ist eine selbstkreiierte Zahl. Abhängig von der Anzahl der gefundenen Komponenten. Also bei 2 Speicherbausteinen ist die RID 0 und 1.
Die Seriennummer ist die Systemseriennummer und die Geschwindigkeit die Geschwindikeit des Rams.
RID und Seriennummer ergeben den Primary Key!
Die Tabelle mit einigen Beispieldaten sieht dann ca. so aus:
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
RID Seriennummer RGroesse RGeschwindkeit
0 012345 256 400
1 012345 256 400
0 543210 128 266
1 543210 256 266
0 098765 512 400
1 098765 512 400
2 098765 512 400
3 098765 512 400
Nun, wenn ich einen Bericht erstelle erstellt er natürlich für jeden Datensatz einen Bericht. In dem obigen Fall also 8 Berichte.
Er soll aber nur 3 Erstellen. Also möchte ich die zusammengehörigen Datensätze addieren.
Also habe ich eine Abfrage erstellt die mir erst mal alle ausgibt wo die RID 0 ist, eine Abfrage für 1 usw. bis RID = 3
Diese Abfragen habe ich in einer erneuten Abfrage zusammengefasst. Nun gibt er mir nur den Datensatz aus mit der 098765. Dies aber korrekt mit 2048 MB. Aber die anderen Datensätze fallen raus. Logisch, wenn ich bis RID 1 gehe gibt er mir die ersten beiden aus.
Eine weitere Abfrage habe ich gemacht in der RID >= 0 ist und da ist das Ergebnis quasi das gleiche.
Ich weiss einfach nicht wie ich es schaffe, dass die Tabelle so aussieht
1
2
3
4
2
3
4
Seriennummer RGroesse RGeschwindkeit
012345 512 400
543210 384 266
098765 2048 400
Jemand eine Idee?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 34726
Url: https://administrator.de/forum/access-datensaetze-zusammenfuegen-34726.html
Ausgedruckt am: 10.04.2025 um 20:04 Uhr
11 Kommentare
Neuester Kommentar
Merkwürdig,
das probier ich doch gleich mal.
Laut M$ Technet http://www.microsoft.com/technet/prodtechnol/sql/70/reskit/part11/sqc18 ...
gibt es First() und Last() durchaus bei MS-ACCESS-SQL.
Bei Deinem Problem kannst Du ja aber auch auf Min() und Max() ausweichen.
Gruß
Biber
[Edit]
Uppps, jetzt hast Du mich überholt - war noch die Antwort auf Dein "Last() gibbet nit"
Wenn es mehr Hersteller sind, dann... hm, dann willst Du quasi eine Pivot-Tabelle haben mit n-Hersteller-Spalten...? *grübel*...
Ach, sag einfach Bescheid, wenn es soweit ist, aber frühestens Montag... ich muss mal langsam ins WE
[/Edit]
das probier ich doch gleich mal.
Laut M$ Technet http://www.microsoft.com/technet/prodtechnol/sql/70/reskit/part11/sqc18 ...
gibt es First() und Last() durchaus bei MS-ACCESS-SQL.
Bei Deinem Problem kannst Du ja aber auch auf Min() und Max() ausweichen.
Gruß
Biber
[Edit]
Uppps, jetzt hast Du mich überholt - war noch die Antwort auf Dein "Last() gibbet nit"
Wenn es mehr Hersteller sind, dann... hm, dann willst Du quasi eine Pivot-Tabelle haben mit n-Hersteller-Spalten...? *grübel*...
Ach, sag einfach Bescheid, wenn es soweit ist, aber frühestens Montag... ich muss mal langsam ins WE
[/Edit]
Hallo zusammen,
habe diesen alten Thread ausgegraben, da er ziemlich gut zu meinem Problem paßt.
Ich habe eine Tabelle (Kunde), bei denen die Kundennummer (Spalte "Kunde") mehrmals auftaucht. Einmal
sind Werte in Spalte "Anschluss" und einmal Werte in Spalte "Anschluss2" gesetzt.
Beispiel:
Ich möchte einen Query erstellen, der die Spalten "Kunde", "Anschluss" und "Anschluss2" ausgibt und
die Kundennummer nur einmal enthält.
Also:
Wenn ich folgenden Query nach obigem Beispiel ausführen will, bekomme ich die Meldung, daß ich eine
Abfrage ausführen wollte, die den angegebenen Ausdruck 'Kunde' nicht als Teil der Aggregatsfunktion
einschließt.
Kann mir jemand helfen, wie ich das Problem in den Griff kriegen kann?
Würde mich sehr freuen
Lieber Gruß
habe diesen alten Thread ausgegraben, da er ziemlich gut zu meinem Problem paßt.
Ich habe eine Tabelle (Kunde), bei denen die Kundennummer (Spalte "Kunde") mehrmals auftaucht. Einmal
sind Werte in Spalte "Anschluss" und einmal Werte in Spalte "Anschluss2" gesetzt.
Beispiel:
1
2
3
2
3
Kunde | Anschluss | Anschluss2
10 10
10 10
Ich möchte einen Query erstellen, der die Spalten "Kunde", "Anschluss" und "Anschluss2" ausgibt und
die Kundennummer nur einmal enthält.
Also:
1
2
2
Kunde | Anschluss | Anschluss2
10 10 10
Wenn ich folgenden Query nach obigem Beispiel ausführen will, bekomme ich die Meldung, daß ich eine
Abfrage ausführen wollte, die den angegebenen Ausdruck 'Kunde' nicht als Teil der Aggregatsfunktion
einschließt.
1
2
2
SELECT DISTINCT test3.Kunde, sum(test3.Anschluss), sum(test3.Anschluss2)
FROM test3;
Kann mir jemand helfen, wie ich das Problem in den Griff kriegen kann?
Würde mich sehr freuen
Lieber Gruß