Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Abfrage Problem - falsches Ergebnis

Begonnen von dobby110, Mai 13, 2014, 09:09:20

⏪ vorheriges - nächstes ⏩

ebs17

FAQ3.16 ist eine der möglichen Gestaltungen einer Inkonsistenzprüfung.

In der gezeigten Abfrage (noch ohne Berücksichtigung von mehreren Investments) sind die Tabellen bzw. der OUTER JOIN vertauscht:
=> VollstaendigeMenge LEFT JOIN Teilmenge

Hieraus kann man dann auch gleich den Lösungsweg ableiten: Es ist eine vollständige Menge zu erzeugen, die hier alle Monatsletzten pro Investment beinhaltet. Das erreicht man durch ein Kreuzprodukt:
SELECT
    X.Investment,
    T.[Ultimotermin]
FROM
    (
        SELECT DISTINCT
            Investment
        FROM
            Bewertungen
    ) AS X,
    Termine AS T

Jetzt kann man darauf die Inkonsistenzprüfung aufbauen:
SELECT
    V.Investment,
    V.[Bewertung per]
FROM
    (
        SELECT
            X.Investment,
            T.[Ultimotermin]
        FROM
            (
                SELECT DISTINCT
                    Investment
                FROM
                    Bewertungen
            ) AS X, Termine AS T) AS V
                LEFT JOIN Bewertungen AS B
                ON V.[Ultimotermin] = B.[Bewertung per]
                    AND
                V.Investment = B.Investment
WHERE
    B.[Bewertung per] Is Null
Mit freundlichem Glück Auf!

Eberhard

MaggieMay

Hallo,
ZitatAlso will ich abgleichen, für welche Investments das Feld "Bewertung per" noch fehlt.
wieso dann überhaupt die Einbeziehung der Termintabelle, es sollte doch genügen, nach leeren "Bewertung per"-Feldern zu suchen.
Freundliche Grüße
MaggieMay

dobby110

sorry das ich nochmal fragen muss.

Schreibe ich den Code genau so wie aufgeführt in die SQL - Ansicht?
Hab mal ein Screenshot beigefügt, wie ich es gemacht habe.

Wenn ich den Code ausführe, öffnet sich ein Fenster mit Datenquelle ?? Screenshot ist auch anbei

ich kann nicht nach den leeren Feldern suchen, weil für die gesuchten Einträge noch kein Eintrag erfolgt ist. Der Eintrag kommt ja erst, wenn der Bericht vorliegt.

DF6GL

Hallo,


eieieiei.... was willst Du mit "Datenquelle auswählen"?


Öffne in Access den Abfrageentwurf, dort das SQL-Ansicht-Fenster und kopiere den SQL-Code dort hinein.

Zudem mein Vorschlag einer Abfrage (SQL-String, SQL-Code):

SELECT Investment, Month([Datum]) & "/" & Year([Datum]) AS MonatJahr
FROM Bewertung
WHERE [Bewertung Per]<>DateSerial(Year([Datum]),Month([Datum])+1,0)
GROUP BY Investment, Month([Datum]) & "/" & Year([Datum])


Die Abfrage liefert die Investments bezogen auf den jeweiligen Monat aus Feld "Datum", die noch kein  "Bewertung Per"- Datum als Monatsletzten besitzen.  Die Termine-Tabelle ist  hier nicht verwendet.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

dobby110

Datenquelle auswählen ist automatisch erschienen, als ich deinen ersten Code ausprobieren wollte. Diesen habe ich in die SQL-Ansicht kopiert.
Beide Teile untereinander.

Der Abfrage-Code funktioniert, liefert aber leider falsche Ergebnisse die ich nicht nachvollziehen kann.

DF6GL

Hallo,

und was ist nun falsch?


Welchen SQL-Code aus den Posts hast Du probiert?


Mach doch mal ein Beispiel (mit vollständiger Ansicht der Tabelle) , was Du anhand der Daten nun erwartest....

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

ebs17

#21
ZitatBeide Teile untereinander.
Eine Accessabfrage mag nur eine SQL-Anweisung.

Liest Du auch Text oder kopierst Du nur Anweisungen? Die Beschreibung sollte eigentlich erkennen lassen, dass die erste gezeigte Anweisung (die man auch mal für sich ausprobieren kann, um zu sehen, was passiert) Teil der zweiten Anweisung ist.
Mit freundlichem Glück Auf!

Eberhard