SQL-Anweisung gesucht !

Hallo Leute,

Ich habe folgendes Problem: Ich habe eine Tabelle „Storni_gesamt“. In diese Tabelle trägt die gesammte Abteilung mittels einer Eingabemaske Stornos, die sie bearbeitet haben ein.
Nun möchte unser Abteilungsleiter eine Tabelle in Form eines Berichtes haben, welche Abteilung in welchem Monat wieviele Stornos verusacht hat.
Ich habe dazu den Bericht tabelarisch aufgebaut und hoffte ganz einfach die Tabelle Storni_gesamt nach Monaten und Abteilungen auszählen zu lassen. Die Tabelle in meinem Bericht hat also 12 Spalten (für jeden Monat) und ca. 14 Zeilen (für jede Abteilung).
Ich wusste nicht, dass ich in einem Textfeld in einem ungebundenen Bericht nicht dierekt per SQL-Anweisung auf die Tabelle zugreifen kann, sondern erst für jede Abteilung und für jeden Monat eine Abfrage konstruieren muss.
Ich dachte bisher, dass ich dass über eine SQL-Anweisung im Textfeld des Berichtes dierekt aus der Tabelle auslesen kann.

z.B. so:SELECTCount("*";„Storni_gesamt“;"[Datum] Between #1/1/2008# And #1/31/2008# AND Unternehmensbereich = „PK-I“)

Stimmt es, dass ich für jeden Monat und für jede Abteilung erst eine Abfrage erstellen muss, diese dann in einer GesamtAbfrage zusammenfassen muss, um dann daraus meinen Bericht zu generieren ?

Gruß Christian

Moin, Ralf,

tja, das ist ein Kunstfehler, genannt „Verstoß gegen die 1.
Normalform“, siehe
http://www.tinohempel.de/info/info/datenbank/normali…
und http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/.

Danke für die Links ! - Ich brauch noch ein wenig Bedenkzeit um zu verarbeiten was ich da alles gelesen habe.

Wenn Du nicht bereit bist, die Tabelle so umzubauen, dass in
jeder Zeile das Tupel Abteilung, Datum und Storno-Nr nur
einmal vorkommt, dann bleibt Dir nichts anderes übrig, als
eine View zu basteln, die genau diese Darstellung liefert.
Beim Basteln hast Du natürlich alle Freiheiten.

In jedem Tupel (Datensatz) kommen Abteilung, Datum und Stornogrund nur
einmal vor! - Ich möchte ja nur die Anzahl der Einträge in einem Textfeld des Berichtes erscheinen lassen und das möglichst ohne, daß ich eine Abfrage zwischen Tabelle und Bericht schalte. Ich möchte einfach nur die Anzahl der Tupels in einem Textfeld des Berichtes erscheinen lassen, die in der Spalte Datum im „Januar“ und in der Spalte Unternehmensbereich „PK-I“ haben.

Was meinst Du mit einem View - etwa eine Abrage ?!

Gruß Christian

Hallo,

so:

= DCount("*";„Storni_gesamt“;"[Datum] Between #1/1/2008# And #1/31/2008# AND Unternehmensbereich = ‚PK-I‘")

Hatten wir das nicht schon längst?

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Klar hatten wir das schon!

Aber es funktioniert nicht. - Ich sag Dir morgen die genaue Fehlermeldung.

Gruß Christian

Hi,
wenn ich mal davon ausgehe, dass deine Tabelle Storni in etwas so aufgebaut ist: dann solltest du dir auch mit einer Kreuztabellenabfrage behelfen können.
Zeilenüberschriften: Abteilung, Year(Datum)
Spaltenüberschrift: Month(Datum)
Wert: Ziffer 1 eingeben und Summenfunktion einstellen

Die Spaltenüberschriften solltest du fixieren, damit du keine Probleme im Bericht erhälst, wenn mal in einem Monat keine Reklamation aufgelaufen ist.

Gruß Epa

Guten Tag,

Hallo Franz,

ich habe im Bericht ein Textfeld eingefügt, in dessen Eigenschaften ich unter dem Atribut Steuerelementinhalt ich folgendes eingetragen habe:

DCount("*";„Storni_gesamt“;"[Datum] Between #1/1/2008# And
#1/31/2008# AND Unternehmensbereich = ‚PK-I‘")

das weicht also nicht weit ab von Deinem

= DCount("*";„Storni_gesamt“;"[Datum] Between #1/1/2008# And
#1/31/2008# AND Unternehmensbereich = ‚PK-I‘")

gehe ich dann auf die Normalansicht, steht in dem Textfeld immer „#Name?“

woher stammt diese Meldung ?

Gruß Christian

Hi,

ich habe im Bericht ein Textfeld eingefügt, in dessen
Eigenschaften ich unter dem Atribut Steuerelementinhalt ich
folgendes eingetragen habe:

DCount("*";„Storni_gesamt“;"[Datum] Between #1/1/2008# And
#1/31/2008# AND Unternehmensbereich = ‚PK-I‘")

das weicht also nicht weit ab von Deinem

= DCount("*";„Storni_gesamt“;"[Datum] Between #1/1/2008# And
#1/31/2008# AND Unternehmensbereich = ‚PK-I‘")

Ja, das stimmt, Tatsache ist aber, DASS es ABWEICHT und somit falsch ist…

Ich denke mal, die „Abweichung“ siehst Du selber.

Frage mich auch, WARUM es denn abweichen soll/muss.

woher stammt diese Meldung ?

Von Access, das Dich nicht versteht (den Ausdruck als solchen nicht erkennt und einen (nicht existierenden) Namen daraus interpretieren will)

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!