Access-Abfrage

Hallo!

Da ich null Ahnung von Access habe, aber jetzt ein tolles Projekt ausgebrummt bekomme habe, bräuchte ich bitte mal eure Hilfe! :smile:
Ich möchte gerne in einer Datenbank eine Abfrage mit mehreren Kriterien generieren. Ist das überhaupt möglich?

Datenbank: Buchung
Spalten: Datum,Nettogewicht,KostenstelleVon,KostenstelleNach

Ich möchte gerne alle Buchungen angzeigt bekommen, die z.b. am 04.10.2007 auf KostenstelleNach gebucht wurden.

Das Problem ist, dass eine solche Abfrage jeden Tag für verschiedene Kostenstellen getätigt werden soll. D.H. die Beiden Parameter müssen variabel sein!?
Am besten wäre es, wenn man nach dem Datum und der Kostenstelle gefragt werden würde.

Habt ihr eine Idee?

Ich hatte mal so angefangen:

SELECT buchung.Datum, buchung.KostenstelleVon, buchung.KostenstelleNach, buchung.NettoGewicht
FROM buchung
WHERE (((buchung.Datum)=Date()) AND ((buchung.KostenstelleNach)=‚21950‘));

Beim Abfragen zeigt er mir zwar alle Spalten an, allerdings keine Werte.

Bitte um Hilföö :smile:

Liebe Grüße,

Nicky

Hallo.

SELECT buchung.Datum, buchung.KostenstelleVon,
buchung.KostenstelleNach, buchung.NettoGewicht
FROM buchung
WHERE (((buchung.Datum)=Date()) AND
((buchung.KostenstelleNach)=‚21950‘));

Beim Abfragen zeigt er mir zwar alle Spalten an, allerdings
keine Werte.

Weil Du mit „Date()“ das aktuelle Datum abfragst, also Buchungen von heute. „buchung.datum=#2007.10.04#“ an der Stelle eingesetzt sollte klappen. Und die Hochkommata bei der Kostenstelle müssten m.E. Anführungsfüße werden.

Im Moment nur Schönheitsfehler, kann aber zu Ärger führen: Der Benamser datum will mir nicht gefallen. Sagt nix aus, welches Datum das ist, und könnte späterwärts zu Kauschwierigkeiten führen … Bezeichner wie Name, Datum, Summe etc. sollte man meiden wie der Teufel die Cholera, oder so.

Gruß Eillicht zu Vensre
Gruß Eillicht zu Vensre

Hi!

Vielen Dank für deine Antwort!
Nun, die Datenbank habe nicht ich erstellt.
Es ist eine Verknüpfung zu einer Paradox-Datenbank aus einem Programm.
Ich kann also die Namensgebung nicht weiter beeinflussen.

Es sollen auch nur ausschließlich Daten ausgewertet werden, von daher denke ich, dass es nicht sooo dramatisch ist.

Liebe Grüße,

Nicky

Hallo Nicky!

Da ich null Ahnung von Access habe, aber jetzt ein tolles
Projekt ausgebrummt bekomme habe, bräuchte ich bitte mal eure
Hilfe! :smile:

freut mich, dass du meinem Vorschlag gefolgt bist :smile:

Ich möchte gerne in einer Datenbank eine Abfrage mit mehreren
Kriterien generieren. Ist das überhaupt möglich?

ja natürlich

Datenbank: Buchung

nö, das ist eine Tabelle!!

Spalten: Datum,Nettogewicht,KostenstelleVon,KostenstelleNach

nö, das sind Felder!!

Ich möchte gerne alle Buchungen angzeigt bekommen, die z.b. am
04.10.2007 auf KostenstelleNach gebucht wurden.

kein Problem

Das Problem ist, dass eine solche Abfrage jeden Tag für
verschiedene Kostenstellen getätigt werden soll. D.H. die
Beiden Parameter müssen variabel sein!?
Am besten wäre es, wenn man nach dem Datum und der
Kostenstelle gefragt werden würde.

auch kein Problem

Habt ihr eine Idee?

ja :smile: Buchung

  • erstelle die Einträge wie folgt:

    ┌──────────────────────┬─────────────────────────────┬──┐
    Feld: │Datum │ KostenstelleVon │ │
    ├──────────────────────┼─────────────────────────────┼──┤
    Tabelle: │Buchung │ Buchung │ │
    ├──────────────────────┼─────────────────────────────┼──┤
    Sortierung: │Aufsteigend │ │ │
    ├──────────────────────┼─────────────────────────────┼──┤
    Anzeigen: │ [X] │ [X] │ │
    ├──────────────────────┼─────────────────────────────┼──┤
    Kriterien: │[Bitte Datum eingeben]│[Bitte Kostenstelle eingeben]│ │
    ├──────────────────────┼─────────────────────────────┼──┤
    oder: │ │ │ │
    ├──────────────────────┼─────────────────────────────┼──┤
    ├──────────────────────┼─────────────────────────────┼──┤
    ├──────────────────────┼─────────────────────────────┼──┤
    └──────────────────────┴─────────────────────────────┴──┘

Die eckigen Klammern [] und der Text dazwischen sind die Fragen, deren Antworten dann als Kriterium ausgewertet werden.

  • Wichtig: diese Abfrage speichern!!
  1. Schritt
  • erstelle einen Bericht
  • nimm diese Abfrage als Datenbasis
  • nutze den Assistenten! Auch um die Summen zu bilden

FERTIG

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Nicky,

dein Post kam mir doch bekannt vor, dacht das wär längst erledigt
http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…
Antwort kam von dir keine.
Nun ja, immerhin ist jetzt das Datum schon dabei.
Tipps hast du reichlich bekommen, am besten du schreibst jetzt, wo du nicht weiter kommst. Wir müssen wissen, wo es hakt. Was kannst du/verstehst du, womit kannst du nichts anfangen. Schritt für Schritt.

Du mußt nicht unbedingt den sql-code schreiben, du kannst auch mit der Oberfläche von access arbeiten und den sql-code anschließend anzeigen lassen (falls du ihn irgendwo zeigen mußt).
Lieben Gruß
Marion

Hallo ihr Zwei!

Vielen Dank für eure Antworten!
Das Datum war auch vorher schon dabei, hatte es nur vergessen zu erwähnen. Sorry :smile:

Wolfang: Super! Dankeschön! Werde es heute mal ausprobieren.
Sorry, dass ich mich nicht wie ein Programmiere ausdrücke… mit Feldnamen, und Spalten… Tuppeln und Relationen… finde es aber super, dass ihr mich dann korrigiert! Dankeschön!

Also… ich Poste später nochmal… muss jetzt „Tüfteln“

Bis später :smile:

LG,

Nicky

hi again!

Das mit der Abfrage war ja nun echt simpel… manchmal sieht man vor lauter bäumen den wald nicht mehr. Hätte ich auch drauf kommen können. wusste nicht, das ich ein beliebiges kriterium angeben kann.

Danke@wolfgang

Kann ich mehrere Abfragen in einem Bericht zusammen laufen lassen?

Jede Kostenstelle bezieht sich auf eine andere Produktionslinie, und es wäre interessant zu sehen, welche Linie wieviel ausschuss produziert hat…

Also muss ich für jede Linie eine Abfrage erstellen, damit mir diese Informationen im Bericht angezeigt werden, oder?

LG,

Nicky

Hallo Nicky,

Das mit der Abfrage war ja nun echt simpel… manchmal sieht
man vor lauter bäumen den wald nicht mehr. Hätte ich auch
drauf kommen können. wusste nicht, das ich ein beliebiges
kriterium angeben kann.

prima, ein Teil geschafft :smile:

Kann ich mehrere Abfragen in einem Bericht zusammen laufen
lassen?

prinzipiell ja

Jede Kostenstelle bezieht sich auf eine andere
Produktionslinie, und es wäre interessant zu sehen, welche
Linie wieviel ausschuss produziert hat…

Also muss ich für jede Linie eine Abfrage erstellen, damit mir
diese Informationen im Bericht angezeigt werden, oder?

Kommt drauf an, wie liegen denn die Daten vor? Schätze, dass die Daten in einer Tabelle vorliegen?

Du bist sehr sparsam mit wichtigen Informationen.

Was willst du in einem Bericht ausgeben (Felder), wie zusammenfassen, wie gegliedert, gruppiert, …?

In welchen Tabellen befinden sich die Daten (Felder). Wenn sich die Felder in verschiedenen Tabellen befinden, über welches Feld sind diese Tabellen verknüpft?

Gruß
Marion

Hallo Marion!

Danke für deine Antwort!!!

Weiß einfach nicht richtig, wie ich mich Ausdrücken soll. Sorry!
Also das mit den Abfragen klappt super. Ich kann nach einem Datum fragen, und auch nach den Kostenstellen. Das ist schon mal ein Ansatz.
Jetzt taucht das nächste Problem auf: Stornierungen

Es gibt Buchungen, die storiniert werden (warum auch immer)

In der Paradox befindet sich das Feld „Storniert“ ebenfalls in der Tabelle „buchung“. Nun das Problem:
Wenn eine Buchung storniert wurde, steht im Feld „storniert“ der Wert „TRUE“.
Wurde nichts storiniert, bleibt das Feld leer (also KEIN FALSE)
Access zeigt mir im kompletten Feld „Storniert“ immer den Wert „-1“ an. Egal, ob eine Stornierung vorliegt, oder nicht.

Dadurch entsteht folgendes Problem:
Bei der Summenberechnung des Nettogewichtes werden ALLE Buchungen berücksichtigt. Auch die stornierten. Das verfälscht mein Ergebnis (um mehrere Tonnen).

Es sollen also nur die Buchungen berücksichtigt werden, bei denen keine Stornierung vorliegt.

Hast du eine Idee?

LG,

Nicky

PS: Finde es super, dass du dich so mit dem Thema beschäftigst!

Hallo Nicky,

Weiß einfach nicht richtig, wie ich mich Ausdrücken soll.
Sorry!

ok, es geht auch mehr um den Inhalt, also die Informationen

Also das mit den Abfragen klappt super. Ich kann nach einem
Datum fragen, und auch nach den Kostenstellen. Das ist schon
mal ein Ansatz.

prima

Jetzt taucht das nächste Problem auf: Stornierungen

Es gibt Buchungen, die storiniert werden (warum auch immer)

In der Paradox befindet sich das Feld „Storniert“ ebenfalls in
der Tabelle „buchung“. Nun das Problem:
Wenn eine Buchung storniert wurde, steht im Feld „storniert“
der Wert „TRUE“.

Wurde nichts storiniert, bleibt das Feld leer (also KEIN
FALSE)
Access zeigt mir im kompletten Feld „Storniert“ immer den Wert
„-1“ an. Egal, ob eine Stornierung vorliegt, oder nicht.

die „-1“ ist das Ergebnis einer Abfrage, in eine Tabelle geschrieben und bedeutet „wahr“ oder „ja“, je nachdem wie das Entscheidungsfeld definiert ist, auf jeden Fall heißt es unter dem Feldnamen „storniert“ sehr wahrscheinlich, dass der Tatbestand „storniert“ zutrifft.


Es sollen also nur die Buchungen berücksichtigt werden, bei
denen keine Stornierung vorliegt.

schreibe in deiner Abfrage in dem Feld „storniert“ in der Zeile Kriterien: Nicht -1

Gruß
Marion

Hallo Marion!

Access versteht scheinbar die Feldtyp der Paradox Datenbank nicht, und interpretiert diese falsch.Wenn bei 23000 Buchungen alle „storniert“ wären, wäre wir pleite.
Es wird kaum storniert. Im Feld „storniert“ steht von anfang des Jahres bis heute überall „-1“.

Merkwürdig ist. Wenn ich einmal nach links oder nach rechts scrolle, um mir die anderen Felder anzuschauen, wird aus der „-1“ eine „0“.
Scrolle ich dann mal rauf oder runter, wird aus der „0“ eine „-1“
Also irgendwas läuft da schief.

Ich habe mich schon an die Programmierer der Software gewandt. Wir werden wahrscheinlich die Paradox-Datenbank abwandeln in eine SQL-Datenbank. Dann habe ich gleich 2Fliegen mit einer klappe geschlagen.

Trotzdem vielen Dank für Deine / Eure hilfe!

LG, und ein schönes Wochenende!

Nicky