Hallo,
ich möchte in einem Unterformular das Ergebnis einer Kreuztabellenabfrage (Umsatztabelle nach Sparten gegliedert) darstellen. Dabei soll der angezeigte Bereich zwischen einem Anfangs- und einem Enddatum gefiltert werden, wobei das Anfangs- und das Enddatum jeweils mit Kombinationsfeldern im übergeordneten Hauptformular ausgewählt werden.
Als Filter dient ein Feld Auswahldatum: Format([Bestelldatum];"jjjj.mm.tt") in der Abfrage, das Filterkriterium lautet:
Zwischen [Formulare]![frm_UmsatzBericht]![cmb_AuswahlDatumVon] Und [Formulare]![frm_UmsatzBericht]![cmb_AuswahlDatumBis]
Die Kreuztabellen-Abfrage bekam ich einwandfrei hin (http://www.donkarl.com/?FAQ3.18 sei's gedankt), nun scheitere ich jedoch an der Gestaltung des Pivot-Formulars, welches dann als Unterformular in ein Hauptformular (zur Datumsauswahl) eingebunden werden soll. Mir ist nicht klar, wie ich das Tabellenraster meinen Wünschen entsprechend gestalten und z.B. auch evtl. um Felder für Prozentangaben ergänzen kann.
Meine Frage daher: wo finde ich (im Internet und möglichst kostenlos) ein gutes Glossar für Dummies, anhand dessen ich mich in die Materie "Gestaltung von Pivot-Formularen unter Access 2010" einlesen und einarbeiten kann?
LG Herb
Nachdem sich mittlerweile herausgestellt hat, dass die Spaltenanzahl der Kreuztabellenabfrage variiert (wenn eine Spalte keine Daten enthält - was öfter der Fall ist - dann wird auch der Spaltenkopf nicht angezeigt, die "Tabelle" wird also schmäler), ist diese Variante der Realisierung für mich unbrauchbar. Ich habe im Hauptformular ein "Fenster" mit fixer Größe für die verschiedenen Tabellen (=Unterformulare als Endlos-Formular), die Tabellen werden mit einem Kombinationsreld ausgewählt und müssen daher alle gleich groß sein.
Ich habe daher von der Verwendung einer Kreuztabelle für diesen Zweck Abstand genommen und eine andere Lösung gesucht und auch gefunden. Hier schreibe ich das deshalb herein, damit sich niemand mehr den Kopf über eine mögliche Lösung zerbricht.
MfG Herb
Hi,
schade, jetzt erfahre ich wieder nicht, wie man mit einfachen Mitteln eine Kreuzabfrage mit variabler Anzahl an Spalten in einem Formular darstellt. ;)
Muß es denn eine Formular-Darstellung sein?
Das ist doch auch per Button, bei dem etwas hinterlegt ist in der Art:
DoCmd.OpenQuery "DeineKreuztabelle", acNormal, acEdit 'entstanden per Assi
startbar. :D
Ansonsten: Wie ist denn Dein Lösungsweg?
Ein Forum lebt von den Beiträgen anderer. Auch ich möchte etwas lernen.
Harald
@bahasu:
ZitatMuss es denn eine Formulardarstellung sein?
Ja. Das Ding ist Teil einer Kassenlösung (Touchscreen-Kasse für die Gastronomie) und soll eine einheitliche, optisch ansprechende Benutzeroberfläche haben.
Da die wichtigsten betrieblichen Auswertungen auch während des Restaurantbetriebs direkt auf dem Bildschirm der Touchscreen-Kasse zugänglich sein sollen, sind sie als Endlosformulare mit fixer Breite ausgeführt und werden per Auswahl-Kombinationsfeld jeweils als Unterformular in ein Hauptformular eingebunden. Zusätzlich enthält das Hauptformular auch noch weitere Kombinationsfelder zur Auswahl und Eingrenzung der anzuzeigenden Datensätze (Datum von-bis, Uhrzeit von-bis, Kellner, Bestellnummern, Tisch-Nummern, etc...).
Die Kreuztabelle sollte zur Anzeige der verschiedenen Spartenumsätze über einen per Kombinationsfeldern auszuwählenden Zeitraum dienen. Dabei gibt es eine fixe Anzahl von 10 buchhalterisch relevanten Sparten (Speisen, Alkoholfreie Getränke, Bier, Most, Wein, Schaumwein, Spirituosen, Kaffee & Tee, Milch & Kakao, diverse Getränke), über deren jeweiligen Anteil am Gesamtumsatz die abzuführende Mehrwertsteuer kalkuliert wird (verschiedene Sparten sind mit unterschiedlichen Mehrwertsteuersätzen beaufschlagt). Wenn in einer Sparte im Beobachtungszeitraum kein Umsatz gemacht wurde, dann darf diese Spalte nicht einfach fehlen (wie bei einer Kreuztabelle) sondern muss mit dem Wert "0" ausgewiesen werden. Die "Tabelle" dient nicht nur zur Anzeige der voraussichtlich abzuführenden Mehrwertsteuer, sondern auch as Grundlage für strategische Entscheidungen.
Zitat
Ansonsten: Wie ist denn Dein Lösungsweg?
Meine Lösung: ich habe ganz einfach den Artikelstamm um 10 Ja/Nein-Felder entsprechend den 10 Artikelsparten ergänzt, und jeden Artikel zu einer Sparte zugeordnet (der Artikelstamm umfaßt ca. 700 Artikel und ist daher überschaubar). In der dem Formular zugrunde liegenden Abfrage habe ich dann das Feld "Kassenumsatz" mit den Mascherln für die einzelnen Sparten verknüpft und auf diese Weise 10 Umsatzfelder-für jede Sparte eines-erhalten.
Am Fuß des Endlosformulars habe ich dann noch Felder für die "Spaltensummen" sowie die prozentuellen Anteile der verschiedenen "Spalten" (=Sparten) eingefügt. Der Vorteil dieser Lösung ist, dass ich bei Auswahl unterschiedlicher Zeiträume per Datums- und Uhrzeit-Kombinationsfeldern im Hauptformular praktisch sofort und unmittelbar die Spartenumsätze für die ausgewählte Periode zur Verfügung habe.
Mit den Summen- und Prozent-Feldern im Formularfuß ähnelt das Endlos-Formular einer Excel-Tabelle mit Paramter-Auswahl am Kopf der Seite und sieht mit den farblich unterschiedlich hinterlegten "Spalten" sehr professionell und übersichtlich aus. Sollte jemand Interesse an dieser Lösung haben, stelle ich gerne einen Screenshot zur Verfügung.
MfG Herb