Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Problem mit Abfrage

Begonnen von TomTom2903, Februar 06, 2013, 08:32:28

⏪ vorheriges - nächstes ⏩

TomTom2903

Hallo,
habe folgende Tabelle mit Spalten
Firma; HausID; Provision; Datum; Tagesumsatz; LZB_ID_1; LZB_Umsatz_1; LZB_ID_2; LZB_Umsatz_2; LZB_ID_3; LZB_Umsatz_3

Ziel soll es sein durch eine Abfrage folgende Darstellung für weitere Auswertungen zu bekommen.

Querry mit Spalten: Firma; HausID; Provision; Datum; Tagesumsatz; LZB_ID_Zus; LZB_Umsatz_Zus

Das muss man doch durch eine Abfrage hinbekommen können.

Bisher habe ich hierzu ein Recordset mit einer do while Schleife verwendet. Ist aber meiner Meinung nach zu komplex.
Außerdem möchte ich Dateninkonsitenzen vermeiden, da ich bei dieser Lösung, die Daten immer in eine neue Tabelle schreibe. Das müßte ich ja bei einer Abfrage dann nicht mehr, sondern würde immer auf die Daten meiner ursprungstabelle zugreifen.
Gruß
Tom

DF6GL

Hallo,



ich rate, erst mal die Tabelle(n) in Ordnung zu bringen (Primärschlüssel, Normalisierung!, Beziehungen), bevor Du Dich mit Tabellenerstellung(en), Recordsets oder sonstigen "Umwegen" im Urwald verlierst..    ;)

69bruno

Da gebe ich meinem Vorredner esrt mal Recht.

Aber so ganz verstehe ich auch dein Ansinnen nicht.

Was soll LZB_ID_Zus sein ??? Eine Sume von ID-Werten ?

LZB_Umsatz_x in einer Abfrage zu addieren, um deren Summe zu ermitteln ist weniger das Problem.
If Brain <= requestoutofPost then
  PostonForum "Ich verstehe Dein Problem nicht....."
Else
  PostonForum "Denk erst mal über die Normalisierung nach......"
End If

TomTom2903

Zitat von: TomTom2903 am Februar 06, 2013, 08:32:28
Hallo,
habe folgende Tabelle mit Spalten
Firma; HausID; Provision; Datum; Tagesumsatz; LZB_ID_1; LZB_Umsatz_1; LZB_ID_2; LZB_Umsatz_2; LZB_ID_3; LZB_Umsatz_3

Ziel soll es sein durch eine Abfrage folgende Darstellung für weitere Auswertungen zu bekommen.

Querry mit Spalten: Firma; HausID; Provision; Datum; Tagesumsatz; LZB_ID_Zus; LZB_Umsatz_Zus

Hi,
also die tbl_Hausumsatz hat natürlich eine ID die ich jetzt hier nicht aufgeführt hatte :-)
ID; Firma; HausID; Provision; Datum; Tagesumsatz; LZB_ID_1; LZB_Umsatz_1; LZB_ID_2; LZB_Umsatz_2; LZB_ID_3; LZB_Umsatz_3

In der Spalte LZB_ID_i (i = 1- 3) steht die ID der Langzeitberaterin pro Haus und Tag und in der LZB_Umsatz_i (i = 1 -3) der Anteil am Umsatz in %.
Pro Tag können maximal 3 LZBs in einem Haus anwesend sein, daher auch drei Spalten.

Die Eingabe erfolgt über ein Endlosformular - direkt in die Tabelle.

Mein Problem ist jetzt die Auswertung der Langzeitberater. Das würde ich gerne über eine Querry machen die mir zuerst folgende Spalten liefert:
Firma; HausID; Provision; Datum; Tagesumsatz; LZB_ID_Zus; LZB_Umsatz_Zus
102     1            9              01.01.2013   1000 €       1                 50
102     1            9              01.01.2013   1000 €       2                 50
102     1            9              02.01.2013   1000 €       1                 50
102     1            9              02.01.2013   1000 €       2                 50

102     5            9              01.01.2013   1000 €       4                 33
102     5            9              01.01.2013   1000 €       6                 33
102     5            9              01.01.2013   1000 €       7                 33
102     5            9              02.01.2013   1000 €       7                 50
102     5            9              02.01.2013   1000 €       8                 50

Im Anschluß könnte ich nach Monat/Jahr, Haus und Beraterin weiter abgrenzen.

Gruß
Tom

DF6GL

Hallo,

die (rot gekennzeichneten) Felder

LZB_ID_1; LZB_Umsatz_1; LZB_ID_2; LZB_Umsatz_2; LZB_ID_3; LZB_Umsatz_3

gehören in eine extra Tabelle mit einem Fremdschlüsselfeld, der eine Beziehung zu "tbl_Hausumsatz" ermöglicht.





TomTom2903

Hallo Franz,

Zitat von: DF6GL am Februar 06, 2013, 09:42:54
Hallo,

die (rot gekennzeichneten) Felder

LZB_ID_1; LZB_Umsatz_1; LZB_ID_2; LZB_Umsatz_2; LZB_ID_3; LZB_Umsatz_3

gehören in eine extra Tabelle mit einem Fremdschlüsselfeld, der eine Beziehung zu "tbl_Hausumsatz" ermöglicht.

Ja aber wie kann ich dann wieder meine Tabelle aufbaurn. tbl_HausLZB_Umsatz
Firma; HausID; Provision; Datum; Tagesumsatz; LZB_ID_1; LZB_Umsatz_1; LZB_ID_2; LZB_Umsatz_2; LZB_ID_3; LZB_Umsatz_3

Die benötige ich für ein Endlosformular.

Ich versteh glaub grad nicht, wie du die Struktur meinst. Mit dem Fremdschlüssel ist klar. Also wenn ich die Tabellen mit einem Fremdschlüssel aufbaue. Allerdings weiß ich dann nicht, wie ich die Zuordnung dann später wieder hinbekomme. Also in der Form tbl_HausLZB_Umsatz.

Ich hätte ja dann bei dir 2 tabellen.
1. tbl_HausUmsatz
ID; HausID; Datum; Tagesumsatz

2. tbl_LZBUmsatz
ID; Datum; LZB_ID; Umsatzanteil

Wenn ich die jetzt in meine "Normalform" bringen möchte, würde das doch nur über ein Pivot funktionieren, dass für ein Endlosformular ja nicht funktioniert.
Firma; HausID; Provision; Datum; Tagesumsatz; LZB_ID_1; LZB_Umsatz_1; LZB_ID_2; LZB_Umsatz_2; LZB_ID_3; LZB_Umsatz_3

Gruß
Tom

DF6GL

Hallo,


es fehlt der Fremdschlüssel, über die eine Beziehung hergestellt werden kann. Von "Deiner Normalform" solltest Du zunächst Abstand nehmen, die könnte nur zur "schönen" Ansicht dienen.

Ob das Feld "Datum" in beiden Tabellen vorhanden sein muss, bezweifle ich erst mal.

1. tbl_HausUmsatz
HUID; HausID; Datum; Tagesumsatz

2. tbl_LZBUmsatz
LZBUmID; LZBUm_HUID; Datum; LZB_ID; Umsatzanteil


TomTom2903

Hallo Franz,
habe mal im Anhang eine Testdatenbank erstellt.

Das Problem was ich habe ist jetzt noch das Eingabeformular...
Hab das im Header rein geschrieben.

Problem 1 ist die Querry und 2 dann die entsprechende Eingabe für den Nutzer.

Danke für deine Hilfe!
Tom

[Anhang gelöscht durch Administrator]

DF6GL

Hallo,



naja, die Test-DB hat nun nicht sehr viel gemeinsam mit meinem Vorschlag....

"Und das zu einem Datum, die Datensätze in der gleichen Reihe stehen. "   solltest Du , wie gesagt, davon Abstand nehmen, weil  in Tabellen und Formularen bei durchgeführter Normalisierung nicht möglich (und auch nicht sinnvoll).



TomTom2903

Hallo Franz,
danke für deine Hilfe. Habe es jetzt durch eine Union - Abfrage gelöst.
Gruß
Tom