Supportnet / Forum / Datenbanken
access summe best. datensätze in formular ausgeben
Frage
die totale verzweiflung umgibt mich !!!
ich bitte um hilfe
(bin ab morgen im urlaub und somit freu ich mich auf die antworten wenn ich am 18.07. wieder da bin)
danke schonmal
also folgendes
ich habe eine formular entworfen (basierend auf einer tabelle natürlich)
das formular hat die aufgabe tägliche umsätze zu erfassen
bsp:
01.06.2005 ... 200 €
07.06.2005 ... 1.100 €
15.06.2005 ... 700 €
02.07.2005 ... 300 €
08.07.2005 ... 100 €
01.08.2005 ... 320 €
usw.
somit muss es folgende ausgabe geben
bsp:
Juni 2005 ... 2.000 €
Juli 2005 ... 400 €
August 2005 ... 320 €
usw.
DAS ist auch kein problem -weil ich das mit einer abfrage hinbekomm
JETZT kommt das problem
zusätzlich soll noch pro monat (Juni 2005, Juli 2005, August 2005 usw.) ein feld vorhanden sein in welches ich pro monat ein umsatzziel eingeben kann
bsp:
Juni 2005 .... 5.000 €
Juli 2005 .... 1.000 €
August 2005 ... 2.000 €
UND GENAU DARAN SCHEITERE ICH !!!
denn:
1) in die tabelle kann ich das feld nicht einfügen weil es ja sonst einem bestimmten x-beliebigem datensatz zugeordnet wird und die monatliche summierung falsch läuft
2) eine weitere tabelle mit monat und umsatzziel kann ich zwar anlegen jedoch nicht in die abfrage einfügen WEIL er keine beziehung zwischen tabelle.monat und abfrage.monat erstellen kann
3) ein ungebundenes feld bringt nichts, da die daten ja nicht gespeichert werden
also kann mir hier irgendjemand weiterhelfen ?
ich bin jetzt schon sehr dankbar dafür
Antwort 1 von oliverV
Hallo Sascha,
ich bin ab Freitag im Urlaub und freuen mich, wenn du dich in meiner Abwesenheit über meine Antwort freust.
Zum Lösungsansatz:
1: einen Datensatz diese Vorgabe zuzuordnen bring nichts
3: ein ungebundenes Feld, ist klar, ist nicht
2: der Vorgabewert muss in einer Tabelle gespeichert werden, eine Beziehung müssen wir dann halt aufbauen, zeigen wir einfach mal, das wir Nüsse in der Hose haben.
Um die Monatsumsätze zu ermitteln erstelle eine Gruppierungs-Abfrage. Für die monatliche Gruppierung erstelle ein Feld:
[Code]Umsatzmonat: Format([Umsatzdatum];"jjjj-mm")
Passe [Umsatzdatum] deiner Feldbezeichnung an. Beim Umsatzwert verwende die Summen-Funktion.
Diese Abfrage dürftest du in ähnlicher Form schon haben.
Nun zu den Umsatzvorgaben:
Erstelle eine Tabelle "tbl_Umsatzvorgaben" mit den Feldern:
ID (Autowert - Primärschlüssel)
Vorgabejahr Felddatentyp Text
Vorgabemonat Felddatentyp Text
Umsatzvorgabe Felddatentyp Währung
Vorgabezeitraum Felddatentyp Text
Lege auf das Feld [Vorgabezeitraum] einen Index (ohne Duplikat) um doppelte Feldeinträge zu verhindern (hierin werden später Jahr und Monat zusammengeführt).
Erstelle nun auf Basis dieser Tabelle das frm_Umsatzvorgaben.
Für das Feld [Vorgabemonat] erstelle ein gebundenes Kombifeld, nutze hierbei als Datensatzherkunft eine Wertliste, verwende die Einträge 01;02;03...12.
Gleiches mache für das [Vorgabejahr], auch mit einigen Jahren in der Wertliste.
Füge nun das Textfeld [Vorgabezeitraum] ein (dieses Feld setzte später auf Sichtbar=Nein).
Gehe nun in das "NachAktualisierungs"-Ereignis des Feldes [Vorgabemonat], öffne des VBA-Editor (3 Punkte am Ende der Zeile), verwende folgenden Code:
[Code]
If Not IsNull(Me.Vorgabejahr) And Not IsNull(Me.Vorgabemonat) Then
Me.Vorgabezeitraum = Me.Vorgabejahr & "-" & Me.Vorgabemonat
End If
[/Code]
Verwende den gleichen Code beim [Vorgabemonat].
Wechsele wieder in die Formularansicht, wenn du nun Datensätze erfasst, sollte im (noch sichtbaren) Feld [Vorgabezeitraum] das Jahr und der Monat zusammengesetzt werden.
Im Prinzip war´s das.
Um die erzielten Monatsumsätze mit den Vorgaben zu vergleichen, nutze die vorhandene Gruppierungsabfrage und die tbl_Umsatzvorgaben, verknüpft über die Felder [Umsatzmonat] und [Vorgabemonat].
Viel Spaß und Erfolg beim Nachbauen !
Gruß
Oliver
ich bin ab Freitag im Urlaub und freuen mich, wenn du dich in meiner Abwesenheit über meine Antwort freust.
Zum Lösungsansatz:
1: einen Datensatz diese Vorgabe zuzuordnen bring nichts
3: ein ungebundenes Feld, ist klar, ist nicht
2: der Vorgabewert muss in einer Tabelle gespeichert werden, eine Beziehung müssen wir dann halt aufbauen, zeigen wir einfach mal, das wir Nüsse in der Hose haben.
Um die Monatsumsätze zu ermitteln erstelle eine Gruppierungs-Abfrage. Für die monatliche Gruppierung erstelle ein Feld:
[Code]Umsatzmonat: Format([Umsatzdatum];"jjjj-mm")
Passe [Umsatzdatum] deiner Feldbezeichnung an. Beim Umsatzwert verwende die Summen-Funktion.
Diese Abfrage dürftest du in ähnlicher Form schon haben.
Nun zu den Umsatzvorgaben:
Erstelle eine Tabelle "tbl_Umsatzvorgaben" mit den Feldern:
ID (Autowert - Primärschlüssel)
Vorgabejahr Felddatentyp Text
Vorgabemonat Felddatentyp Text
Umsatzvorgabe Felddatentyp Währung
Vorgabezeitraum Felddatentyp Text
Lege auf das Feld [Vorgabezeitraum] einen Index (ohne Duplikat) um doppelte Feldeinträge zu verhindern (hierin werden später Jahr und Monat zusammengeführt).
Erstelle nun auf Basis dieser Tabelle das frm_Umsatzvorgaben.
Für das Feld [Vorgabemonat] erstelle ein gebundenes Kombifeld, nutze hierbei als Datensatzherkunft eine Wertliste, verwende die Einträge 01;02;03...12.
Gleiches mache für das [Vorgabejahr], auch mit einigen Jahren in der Wertliste.
Füge nun das Textfeld [Vorgabezeitraum] ein (dieses Feld setzte später auf Sichtbar=Nein).
Gehe nun in das "NachAktualisierungs"-Ereignis des Feldes [Vorgabemonat], öffne des VBA-Editor (3 Punkte am Ende der Zeile), verwende folgenden Code:
[Code]
If Not IsNull(Me.Vorgabejahr) And Not IsNull(Me.Vorgabemonat) Then
Me.Vorgabezeitraum = Me.Vorgabejahr & "-" & Me.Vorgabemonat
End If
[/Code]
Verwende den gleichen Code beim [Vorgabemonat].
Wechsele wieder in die Formularansicht, wenn du nun Datensätze erfasst, sollte im (noch sichtbaren) Feld [Vorgabezeitraum] das Jahr und der Monat zusammengesetzt werden.
Im Prinzip war´s das.
Um die erzielten Monatsumsätze mit den Vorgaben zu vergleichen, nutze die vorhandene Gruppierungsabfrage und die tbl_Umsatzvorgaben, verknüpft über die Felder [Umsatzmonat] und [Vorgabemonat].
Viel Spaß und Erfolg beim Nachbauen !
Gruß
Oliver
Antwort 2 von oliverV
Hallo Sasha,
ich bin nun auch wieder aus dem Urlaub gekommen und habe deine Nachricht gelesen, das du mit der letzten Abfrage Probleme hast.
Habe ich vielleicht auch etwas unglücklich ausgedrückt. Ich gehe mal das von aus, das du bis "Im Prinzip war´s das", alles so erstellt hast.
Erstelle nun eine neue Abfrage, verwende dabei die Abfrage "qry_Monatsumsätze" und die Tabelle "tbl_Umsatzvorgaben".
Im oberen Bereich der Abfrage (dem Beziehungsfenster), siehst du nun die Tabelle und die Abfrage mit den vorhandenen Feldern. Ziehe mit der Maus das markierte Feld [Umsatzmonat] aus der qry_Monatsumsätze auf das Feld [Vorgabezeitraum] der tbl_Umsatzvorgaben; du siehst nun die Verknüpfungslinie zwischen den beiden Feldern.
Wähle nun per Doppelklick folgende Felder aus:
[Umsatzmonat] und [Summe von Umsatz] aus der qry_Monatsumsätze
[Umsatzvorgabe] aus der tbl_Umsatzvorgaben
Speichern - fertig.
Wenn du weiterhin Probleme damit hast, kann ich dir auch eine kleine Beispiel-DB mailen (Adresse kannst du mir per Pager geben).
Gruß
Oliver
ich bin nun auch wieder aus dem Urlaub gekommen und habe deine Nachricht gelesen, das du mit der letzten Abfrage Probleme hast.
Habe ich vielleicht auch etwas unglücklich ausgedrückt. Ich gehe mal das von aus, das du bis "Im Prinzip war´s das", alles so erstellt hast.
Erstelle nun eine neue Abfrage, verwende dabei die Abfrage "qry_Monatsumsätze" und die Tabelle "tbl_Umsatzvorgaben".
Im oberen Bereich der Abfrage (dem Beziehungsfenster), siehst du nun die Tabelle und die Abfrage mit den vorhandenen Feldern. Ziehe mit der Maus das markierte Feld [Umsatzmonat] aus der qry_Monatsumsätze auf das Feld [Vorgabezeitraum] der tbl_Umsatzvorgaben; du siehst nun die Verknüpfungslinie zwischen den beiden Feldern.
Wähle nun per Doppelklick folgende Felder aus:
[Umsatzmonat] und [Summe von Umsatz] aus der qry_Monatsumsätze
[Umsatzvorgabe] aus der tbl_Umsatzvorgaben
Speichern - fertig.
Wenn du weiterhin Probleme damit hast, kann ich dir auch eine kleine Beispiel-DB mailen (Adresse kannst du mir per Pager geben).
Gruß
Oliver

