Access Abfrage Soll/Ist

  • Access

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Access Abfrage Soll/Ist

    Hallo zusammen,

    habe folgendes Problem bei einer Abfrage.
    Die Tabelle Matrix hat stehen, welcher Bereich, wie viele Personen mit Fortbildungen haben muss (Soll).
    Nun möchte ich (Stichtagsbezogen), eine weitere Spalte haben, mit dem Wert Ist, zu einem bestimmten Datum, wie viele Personen es mit Fortbildungen sind.
    Jede Person gehört zu einem Bereich.
    Im Anhang, habe ich die Datenbank (Access).

    Vielen Dank vorab für eure Hilfe.
    Grüße

    *Topic verschoben*

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()

    ich sag doch, mein Access ist oll - ich hab kein access2016.

    Wie kommst du mit dem Screenshot des typDatasets voran?
    Weil da kommste eh nicht dran vorbei - typDataset oder EntityFramework - das sind die .Net - Datenbank-Kommunikations-Technologien, und alles annere ist äusserst fragwürdig, ums nett auszudrücken.
    Hi @ErfinderDesRades,
    anbei das Screenshot von DS, aus Access und auch das DS (jeweils die .xsc, .xsd und .xss)
    Ich muss auch bei der Abfrage beachten, das die jeweiligen gezählt werden, zu einem bestimmten Datum.
    Also alle die, die eine Fortbildung erhalten haben bzw. bis wann die gültig ist.

    Bsp.:
    persID: 1000 Datum: 01.01.2015 und gültig bis 01.01.2016 FortbildungID: 1
    persID: 1000 Datum: 31.12.2015 und gültig bis 31.12.2016 FortbildungID: 1
    Stichtag 01.01.2016, also soll die Person (nur einmal) gezählt werden da es auch vorkommen kann, das eine Person vor dem Ablauf, eine neue Fortbildung bekommt.

    Die Tabelle Matrix, beschreibt, welcher Bereich (LZ) wie viele haben sollte.
    Jede Person gehört zu einem Bereich (LZ) an.

    Ich hoffe, das ich es gut beschreiben konnte.


    Gruß

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „dotdev“ ()

    dotdev schrieb:

    Die Tabelle Matrix hat stehen, welcher Bereich, wie viele Personen mit Fortbildungen haben muss (Soll).
    Nun möchte ich (Stichtagsbezogen), eine weitere Spalte haben, mit dem Wert Ist, zu einem bestimmten Datum, wie viele Personen es mit Fortbildungen sind.

    Jo, wird knifflig.
    Ich würde alle die Tabellen laden, und dann muss man halt alle Person-Unterweisung-Zuordnungen durchgehen, und bereichsbezogene Zähler hochzählen.
    bereichsbezogene Zähler kann man etwa als Dictionary(Of tblLeitzeichenRow, Integer) umsetzen.
    Nur dieses zur Anzeige bringen ist nochmal ein Problem, denn Databinding kann keine Ist-Spalte anzeigen, die nicht angelegt ist.

    Ah - das wäre evtl. ein Ansatz: Du könntest zur Laufzeit eine Ist-Spalte an die Matrix-DataTable anfügen, dann kannste in deren Spaltenwerte die Zähler ablegen.
    Dann muss man zwar immer noch das Databinding an diese "Hacker-Spalte" anfügen, aber immerhin wäre das eine Möglichkeit.


    Nochmal generell:
    1. Nach meiner Erfahrung, kommt typDataset nicht mit 1:1 - Relationen klar. Kannst du tblLZPers nicht auflösen, und die Personen direkt auf ihre Bereiche verweisen lassen? - was bringt da diese Zwischengeschobene tblLZPers?
    2. Deine Benamung ist in nahezu jeder Hinsicht verbesserungsfähig.
      In codeproject.com/articles/1033145/databinding-for-beginners habich einen Haufen Benamungs-GuideLines zusammengestellt - das meiste beruht auf meiner eigenen Erfahrung, aber hat mich gefreut, iwann später dieselben Richtlinien auch in anderen Sammlungen wiederzufinden - jaja - das Rad neu erfunden...
      Das besondere an meiner Zusammenstellung ist aber: Jede Richtlinie ist detailliert begründet.
    Hi @ErfinderDesRades,

    danke die für deine Unterstützung.
    Habe es nun doch hinbekommen mit einer Abfrage.
    Den Filter aufs Datum mache ich über ein Parameter (ist in Access möglich).

    Wenn du magst, poste ich nächste Woche die SQL Abfrage, da ich übers WE keinen Zugriff habe.



    Nach meiner Erfahrung, kommt typDataset nicht mit 1:1 - Relationen klar. Kannst du tblLZPers nicht auflösen, und die Personen direkt auf ihre Bereiche verweisen lassen? - was bringt da diese Zwischengeschobene tblLZPers?


    Ist nicht ganz leicht zu erkären, möchte in der "Master"-Tabelle keine abhängigkeiten zu anderen Tabellen haben.

    Grüße
    Für SQL-Fragen gibt es "Weitere Sprachen und sprachübergreifende Themen", wo es auch ein SQL-Label gibt. Ich habe den Thread jetzt aber mal nach VBA verschoben, passt hier glaube ich besser.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum