collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 61
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 1
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13570
  • stats Beiträge insgesamt: 60064
  • stats Themen insgesamt: 8219
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Abfrage (SQL), letzen bekannten Wert ausgeben  (Gelesen 237 mal)

Offline TomWinter

  • Newbie
  • Beiträge: 3
Abfrage (SQL), letzen bekannten Wert ausgeben
« am: Mai 18, 2017, 14:56:16 »
Hallo zusammen,

ich hoffe, ihr könnt mir bei folgendem Problem helfen.

Ich habe in ACCESS zwei Tabellen:



Tabelle "Datum" mit dem Feld "Datum"

In dieser Tabelle stehen die Daten (Mehrzahl von Datum), die ausgewertet werden sollen.

Beispiel:

Datum
01.03.2017
02.03.2017
03.03.2017
04.03.2017
05.03.2017



Tabelle "Bestand" mit den Feldern "Bestandsdatum" und "Bestandsmenge"

In dieser Tabelle sind nur Datensätze enthalten, an denen sich die "Bestandsmenge" geändert hat

Beispiel:

Bestandsdatum | Bestandsmenge
01.03.2017 | 15
03.03.2017 | 20
05.03.2017 | 5



Nun habe ich eine Abfrage mit folgender SQL-Syntax erstellt:

SELECT Datum.Datum, Bestand.Bestandsmenge
FROM Datum LEFT JOIN Bestand ON Datum.Datum = Bestand.Bestandsdatum;

Damit erhalte ich folgende Ausgabe:

Datum | Bestandsmenge
01.03.2017 | 15
02.03.2017 |
03.03.2017 | 20
04.03.2017 |
05.03.2017 | 5



Nun meine Frage. Wie muss ich den SQL-Syntax ändern, damit immer die letzte bekannte "Bestandsmenge" angezeigt wird? Also wie folgt:

Datum | Bestandsmenge
01.03.2017 | 15
02.03.2017 | 15
03.03.2017 | 20
04.03.2017 | 20
05.03.2017 | 5


Ich hoffe, es hat jemand eine Lösung für mein Problem und bedanke mich schon mal.

Viele Grüße
Tom
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1344
Re: Abfrage (SQL), letzen bekannten Wert ausgeben
« Antwort #1 am: Mai 18, 2017, 15:44:24 »
SELECT Max(Datum.Datum) AS Letzter, Bestand.Bestandsmenge
FROM Datum LEFT JOIN Bestand ON Datum.Datum = Bestand.Bestandsdatum;
"Datum" ist schelchte Benamsung, da reserviertes Wort.
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 
Folgende Mitglieder bedankten sich: TomWinter

Offline TomWinter

  • Newbie
  • Beiträge: 3
Re: Abfrage (SQL), letzen bekannten Wert ausgeben
« Antwort #2 am: Mai 18, 2017, 16:06:10 »
Vielen Dank für die schnelle Antwort.

Leider klappt es nicht. ACCESS meldet folgenden Fehler: "Sie wollten eine Abfrage ausführen, die den angegebenen Ausdruck 'Bestandsmenge' nicht als Teil der Aggregatfunktion einschließt.

Grüße
Tom
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1344
Re: Abfrage (SQL), letzen bekannten Wert ausgeben
« Antwort #3 am: Mai 18, 2017, 17:22:15 »
Hallo Tom,
Sorry, mal wieder gar nicht richtig gelesen  >:(
Muss ich noch mal einen Moment drüber nachdenken  :-[
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline Lachtaube

  • Access-Profi
  • **
  • Beiträge: 461
Re: Abfrage (SQL), letzen bekannten Wert ausgeben
« Antwort #4 am: Mai 18, 2017, 17:49:52 »
ekkehard, wenn Du schon beim Nachdenken bist, erkläre doch bitte auch einmal die Bedeutung des Wortes "Benamsung" (im Duden habe ich dazu nichts finden können und eine gleichnamige chinesische Provinz konnte ich auch nicht ergründen). :)
Grüße von der (⌒▽⌒)
 


Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1344
Re: Abfrage (SQL), letzen bekannten Wert ausgeben
« Antwort #6 am: Mai 18, 2017, 18:08:28 »
Hallo,
Zitat
erkläre doch bitte auch einmal die Bedeutung des Wortes "Benamsung"
Meinst du das ernst?
https://www.google.de/?gws_rd=ssl#q=access+benamsungen&spf=1495123275055

Mit dem Nachdenken komme ich allerdings nicht weiter; - keine Ahnung wo's da beimir wieder hakt  >:(

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Online DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 22795
Re: Abfrage (SQL), letzen bekannten Wert ausgeben
« Antwort #7 am: Mai 18, 2017, 18:23:19 »
Hallo,

wo(bei) denkst Du denn nach?

Die Fehlermeldung bedeutet, dass die Abfrage nicht gruppiert ist, was die Domänenfunktion erfordert.



Offline Lachtaube

  • Access-Profi
  • **
  • Beiträge: 461
Re: Abfrage (SQL), letzen bekannten Wert ausgeben
« Antwort #8 am: Mai 18, 2017, 19:10:45 »
Klar meine ich das ernst. Unter einer Benennung oder einer Benamung (klingt auch schon etwas merkwürdig) kann ich mir etwas vorstellen, selbst benamsen ist mir schon zu Ohren gekommen - mit dem Substantiv Benamsung bin ich (außerhalb von Access-Foren) allerdings noch nie nie in Berührung gekommen - aber vielleicht stamme ich ja auch nur aus der falschen Ecke Deutschlands. :)
Grüße von der (⌒▽⌒)
 

Offline ebs17

  • Access-Meister
  • ***
  • Beiträge: 744
Re: Abfrage (SQL), letzen bekannten Wert ausgeben
« Antwort #9 am: Mai 18, 2017, 20:03:51 »
Evtl. so:
SELECT
   D.Datum,
   IIF(B.Bestandsmenge IS NULL,
   (
      SELECT TOP 1
         X.Bestandsmenge
      FROM
         tblBestand AS X
      WHERE
         X.BestandsDatum < D.Datum
      ORDER BY
         X.BestandsDatum DESC
   )
   , B.Bestandsmenge) AS Bestandsmenge
FROM
   tblDatum AS D
      LEFT JOIN tblBestand AS B
      ON D.Datum = B.BestandsDatum
Mit freundlichem Glück Auf!

Eberhard
 
Folgende Mitglieder bedankten sich: TomWinter

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1344
Re: Abfrage (SQL), letzen bekannten Wert ausgeben
« Antwort #10 am: Mai 18, 2017, 20:27:53 »
Zitat
mit dem Substantiv Benamsung bin ich (außerhalb von Access-Foren)
W
Na, wo sind wir denn hier?  ;)

@Eberhard
Danke.
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline TomWinter

  • Newbie
  • Beiträge: 3
Re: Abfrage (SQL), letzen bekannten Wert ausgeben
« Antwort #11 am: Mai 19, 2017, 06:58:36 »
Guten Morgen zusammen,

der Code von  ebs17 war perfekt. Hat geklappt. Vielen Dank an alle für die schnelle Hilfe.

Grüße
Tom