Office: (Office 2016) Alles anzeigen, das NICHT vorhanden ist

Helfe beim Thema Alles anzeigen, das NICHT vorhanden ist in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Accesskönner, ich fummel hier schon ewig rum und kriegs nicht gebacken. Ausgangssituation: Tabelle tHandwerker: Code: HID Werkzeug 1... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von R J, 16. Dezember 2020.

  1. Alles anzeigen, das NICHT vorhanden ist


    Hallo liebe Accesskönner,

    ich fummel hier schon ewig rum und kriegs nicht gebacken.

    Ausgangssituation:
    Tabelle tHandwerker:
    Code:
    Tabel tWerkzeuge
    Code:
    Ziel: Ich möchte das alle Handwerker IDs (HID) und das Werkzeug, das NICHT in der Tabelle tHandwerker aufgeführt ist, obwohl es in der Tabelle tWerkzeuge mit Ja als erforderlich gekennzeichnet ist, aufgelistet werden.
    Um Beim obigen Bsp. zu bleiben, Handwerker 1 hat keine Säge in seinem Inventar. Ich möchte also seine ID und das fehlende Werkzeug wissen. Ergebnis in diesem Fall müsste also lauten:

    HID Fehlt
    1 Säge

    Aber egal was ich mache, ich kriege kein passendes Ergebnis.
    Das hier (der letzte von vielen Versuchen):

    SELECT tHandwerker.HID, tHandwerker.Werkzeug As Fehlt, tWerkzeuge.erforderlich
    FROM tHandwerker RIGHT JOIN tWerkzeuge ON tHandwerker.Werkzeug = tWerkzeuge.Werkzeug
    WHERE (((tHandwerker.Werkzeug) Is Null) AND ((tWerkzeuge.erforderlich)=True));


    bringt gar nichts.... grummel.... Kann wer helfen bitte?
    Danke!

    :)
     
  2. Hallo,
    ich glaube, das Datenmodell passt noch nicht.
    Wie unterscheidest Du in der Werkzeugtabelle die Handwerker ?
    Mit anderen Worten, wo ist festgelegt, dass dder Schraubendreher für HID 2 nicht benötigt wird ?
    Und wieso hat HID1 einen Schraubendreher obwohl in der Werkzeugtabelle bei Schraubendrehen Nein steht ?

    Haben alle Handwerker die gleichen Werkzeuge ?
     
    gpswanderer, 17. Dezember 2020
    #2
  3. ...wow... das ging ja schnell!

    Hi Klaus,

    Ok... das war ein schnelles Beispiel. Die Benennung passt deshalb vermutlich nicht. Vielleicht sollte man tHandwerker umbenennen in Tascheninhalte.... aber das ist nicht der Punkt. Sinn des ganzen ist, es soll überprüft werden, ob alle Handwerker in ihrem Werkzeugkasten alle Werkzeuge haben, die in der Werkzeugliste als erforderlich gekennzeichnet sind. Wenn da was fehlt, soll es angezeigt werden. Was und bei wem. Oder geht das nicht, bei redundanten HID Nummern? Was wäre die Alternative?

    Nicht in der Werkzeugtabelle, sondern in der Handwerkertabelle...(HID)
     
  4. Alles anzeigen, das NICHT vorhanden ist

    Hallo,
    Du hast meine Fragen nicht eindeutig beantwortet.

    Haben alle Handwerker die gleiche Werkzeugliste ?
    Wenn nein, wie unterscheidest Du dann die Handwerker

    Ist das ein reales Beispiel, oder ist das erfunden ?

    Im Regelfall sind Tabellen mit Ja/Nein Feldern für eine Datenbank ungeeignet.
     
    gpswanderer, 17. Dezember 2020
    #4
  5. ...ja, alle Handwerker sollen die gleichen Werkzeuge mitführen. Andernfalls ergäbe das ja keinen Sinn....*Smilie

    Die Frage nach der Unterscheidung hatte ich nachträglich beantwortet. Hattest Du während des Antwortens vermutlich nicht mehr gesehen.... über die HID in der Handwerkertabelle.

    Und diese Frage:
    ist irrelevant.... er hat halt einen.... woher, weshalb, egal.... hat ihm seine Frau zum Geburtstag geschenkt....*wink.gif*

    Kann ich mir nicht vorstellen.... das ist die Acces Variante für true und false.... damit muss eine DB klarkommen.
     
  6. Hallo,
    es ist mir immer noch völlig unklar.
    Auf diese Frage gibt es auch keine eindeutige Antwort.

    Wie ich bereits schrieb, sind ja/nein Felder in einer Datenbank ungeeignet.

    Hier ist eine n:m Struktur erforderlich in der in je einem Datensatz festgehalten wird wer welches Werkzeug hat.

    Dann lässt sich über eine Inkonsistenzabfrage ermiltteln was bei den Handwerkern fehlt. Es sind also 3 Tabellen erforderlich.

    - Handwerker
    - ErforderlichesWerkzeug
    - VorhandenesWerkzeug (FS zu HID, FS zu WID)
     
    gpswanderer, 17. Dezember 2020
    #6
  7. ...ok... ich versuchs nochmal zu erklären....

    Es gibt eine Liste, in der steht, was da sein muss. (Die Werkzeugliste)
    Es gibt eine Liste, in der steht, wer was hat (hier die Handwerkerliste)
    Vergleiche die beiden.
    Wenn jemand mehr hat, als in der Wwrkzeugliste steht, macht das nichts. Aber das, was erforderlich ist, muss sich auch in seiner Werkzeugtasche befinden. Und zwar für alle das gleiche. Ein Maler braucht Pinsel und Farben. Das ist notwerndig für seinen Job. Hat er die nicht, kann er nach Hause gehen oder muss sich das besorgen. Hat er noch Frühstücksbrote in seiner Kiste, interessiert keinen...

    Die Handwerkertabelle, die Du hier forderst, ist nicht notwendig. Hier gehts nicht um die Handwerker sondern um die notwendigen Werkzeuge. Und alle brauchen die gleichen. Schulze (oder HID 1) hat also einen Hammer und eine Zange. Erforderlich sind aber Hammer, Zange UND Säge. Also fehlt Schulze (oder HID 1) eine Säge. Wenn er (oder ein anderer) auch noch einen Schraubendreher hat, ist das nicht schlimm. Er ist zwar nicht erforderlich aber auch nicht verboten. Darf er haben, interessiert aber keinen. Was interessiert ist:

    Wem fehlt was, das erforderlich ist. Was steht NICHT in seiner Inventarliste, . (Handwerkstasche, nenn es wie Du willst) was da eigentlich vorhanden sein müsste

    Ist doch nicht so schwer.... wenn Du Pasta kochen willst, brauchst Du Nudeln. Und wenn Du Deinen Schrank mit der Rezeptliste vergleichst und keine Nudeln im Schrank findest, dann schreibst Du sie auf Deine Einkaufsliste...
    Ich weiß nur nicht, wie ich Access das verklickern soll.... schau in alle Taschen, vergleiche sie mit der Werkzeugliste und sage mir wem was fehlt, obwohl er es braucht.... schreibs auf die Einkaufsliste.... die will ich haben... und für wen das ist, denn die Nachbarin braucht auch noch was.....

    Umgangssprachlich formuliert würde das so lauten:
    Vergleiche alle Tascheninhalte mit den notwendigen Werkzeugen und gib mir aus, welchem Handwerker welches erforderliche Werkzeug fehlt.
     
  8. Alles anzeigen, das NICHT vorhanden ist

    Moin,

    tWerkzeuge ist für die Katz, weil dort nicht angegeben ist, für welchen Beruf das Werkzeug erforderlich ist.
    Code:
     
    drambeldier, 17. Dezember 2020
    #8
  9. Zur eigentlichen Frage:
    Grundlagen - SQL ist leicht (11) - Reihenfolge der Abfrageabarbeitung
    Der OUTER JOIN und der Filter im WHERE-Teil sind bezüglich der Abarbeitungreihenfolge gleichwertig. Wenn aber in der konkreten Konstellation der OUTER JOIN zuerst ausgeführt wird, bekommt man im Sinne des Wunsches ein falsches Ergebnis. Das kann man sich ja in Gedanken oder praktisch durchspielen.

    Es wäre also nötig, die Anweisung so zu formulieren, dass zuerst der Test Erforderlich = True ausgeführt wird:
    Code:
    Generell:
    Ja, in einer ordentlichen DB-Anwendung würde man über Schlüssel verknüpfen, nicht über die Klarnamen der Werkzeuge. Dazu würde es eine solche Tabelle Werkzeuge geben, die diese Schlüssel liefert.
    Es gibt also Reserven in der Datenmodellierung. Diese sind nicht für den konkreten Fall von Bedeutung, dürften es aber im Allgemeinen schon sein. Einfache Abfragen haben oft die Grundlage, dass die Daten sauber strukturiert und modelliert sind. Auf der Autostrada muss man bei seinem Sportwagen nur Gas geben, im Innenbereich einer Altstadt ist es da deutlich anstrengender.
     
  10. \@drambeldier

    Bitte nichts hineininterpretieren, was nicht von Belang ist. Du darfst davon ausgehen, dass alle den gleichen Beruf und somit die gleichen Anforderungen haben.

    Wenn ich
    Code:
    verwende, bekomme ich alle DS angezeigt, so wie gewünscht. Also, welcher Handwerker hat welches benötigte Werkzeug.
    Ich brauch aber quasi eine Invertierung.... also eine Angabe, was er von den benötigten NICHT hat.

    @ebs17,
    ...jepp... das scheint mir in die richtige Richtung zu gehen. Mit Unterabfrage. Dachte mir schon sowas, aber mein SQL ist schon so lange her, dass ich nicht mehr drauf kam. Deshalb hab ich Deine Anweisung auch noch nicht ganz durchschaut.
    Du verwendest quasi Hilfstabellen H und W? Aber beim Einsatz Deiner Anweisung wertet er das als Parameterabfrage und will wissen wer W ist.
    Müsste ich am Anfang nicht die richtigen Tabellennamen angeben? Also statt:
    Code:
    so?:SELECT
    tHandwerker .HID,
    tHandwerker .Werkzeug AS Fehlt,
    tWerkzeuge.erforderlich
    FROM
    tHandwerker AS H...

    ...aber da meckert er einen Syntaxfehler in der Join Operation an....
    es ist zum Mäuse melken...
     
  11. Nein, das sind Tabellenaliase. Jedes Ding muss seinen eindeutigen Namen haben.
    Grundlagen - SQL ist leicht (2) - Alias
    Einen Fehler in meiner Anweisung kann ich nicht erkennen, den SELECT-Teil hatte ich nur übernommen ohne Rückschau, ob und wie das sinnvoll ist.
     
  12. ....erst mal Danke an alle, für Eure Mühen und Zeit!

    Hab noch ein wenig rumgespielt und musste feststellen, das, was ich will geht wohl so nicht Entweder ich kann mir anzeigen lassen, was allen fehlt (falls allen das Gleiche fehlt) oder ich muss jeden einzelnen Handwerker gesondert abfragen. Für die, die es interessiert, das habe ich so gelöst:

    Code:
    Hier wird Handwerker 2 auf fehlendes Werkzeug gecheckt.
    Na ja, man kann eben nicht alles haben....*frown.gif*

    Special Thanks an @ebs17 für die guten Erklärungen und hier ein Link, der mir auch geholfen hat, um das Thema besser zu verstehen...

    Wünsche Euch noch ein schönes Wochenende!
     
  13. Alles anzeigen, das NICHT vorhanden ist

    Hallo,
    die Hinweise zum Datenmodell hast Du mal vorsichtshalber ignoriert. Auch von Ebs17 gab es Anmerkungen in diese Richtung.

    Wenn die Handwerker ein neues Werkzeug brauchen, muss alles geändert werden, die Tabelle (es gibt ja ein neuses Feld) die Abfragen, Formulare usw. Ist das so gewollt ?
     
    gpswanderer, 18. Dezember 2020
    #13
  14. Nun, wenn man will, geht das schon. Ggf. muss man jedem Handwerker seine eigene Werkzeugtabelle (besser eigene Instanz der Werkzeugtabelle) geben, mit der er dann sein vorhandenes Werkzeug abgleichen kann.

    Umsetzung?
    Verständliches Datenmodell + vorhandene Demodatenbank.
     
  15. Für Selbstlöser:

    Vollständige Menge: Kreuzprodukt aus Handwerkerliste und bereinigter Werkzeugtabelle
    Vorhandene Menge: Wohl tHandwerker (bei Werkzeugnennung wäre für mich die Bezeichnung extrem irritierend)

    Gesuchte Menge ... aus Inkonsistenprüfung beider Mengen
     
Thema:

Alles anzeigen, das NICHT vorhanden ist

Die Seite wird geladen...
  1. Alles anzeigen, das NICHT vorhanden ist - Similar Threads - anzeigen vorhanden

  2. betimmten Montag als Datum in Bericht anzeigen

    in Microsoft Access Hilfe
    betimmten Montag als Datum in Bericht anzeigen: Hallo, Ich möchte in Access einen Bericht erstellen. Der holt verschiedene Daten und stellt die dar. Der Bericht soll eine Überschrift bekommen, unter anderem mit zwei Datumsangaben: einmal das...
  3. Sharepoint Version im Dokument anzeigen

    in Sonstiges
    Sharepoint Version im Dokument anzeigen: Hallo zusammen. Ich hoffe ich bin hier richtig. Ich speichere Excel und Word-Dokumente im Sharpoint und nutze hier die Versionierung. Gibt es einen Weg, wie ich die Versionsnummer aus...
  4. Letzten Eintrag aus verschiedenen Zellen in A1

    in Microsoft Excel Hilfe
    Letzten Eintrag aus verschiedenen Zellen in A1: Hallo an alle, Brauche bitte Hilfe. Ich möchte, dass in Zelle A2 immer der letzte Eintrag aus Zelle B2 bis K2 steht. Das heißt, wenn ich in E2 zum Beispiel "456" schreibe, dann soll es in A2...
  5. Beträge in anderem Tabellenblatt anzeigen lassen mit Bezug auf einen Monat und ohne Leerzellen

    in Microsoft Excel Hilfe
    Beträge in anderem Tabellenblatt anzeigen lassen mit Bezug auf einen Monat und ohne Leerzellen: Hello, nun habe ich noch ein kleines Problem... ich habe es schon mal versucht, aber komme nicht zum richtigen Ergebnis... Jetzt soll ein Betrag in einem anderen Tabellenblatt angezeigt...
  6. Am Weitesten rechts stehenden, vorhandenen (!) Wert anzeigen lassen

    in Microsoft Excel Hilfe
    Am Weitesten rechts stehenden, vorhandenen (!) Wert anzeigen lassen: Hallo Zusammen, ich habe ein Problem bei meiner Kostenkalkulation und hoffe, dass mich jemand aus meiner Verzweiflung retten kann *confused.gif* Ich habe eine ziemlich umfangreiche Master-Excel,...
  7. Datensatz prüfen ob bereits vorhanden mit Anzeigen des Datensatzes

    in Microsoft Access Hilfe
    Datensatz prüfen ob bereits vorhanden mit Anzeigen des Datensatzes: Hallo Zusammen, ich habe in meiner Datenbank eine Tabelle, welche meine Daten enthält (ID, Kontonummer, Vorname, Nachname, Ja/Nein-Feld1, Ja/Nein-Feld2). Für die Dateneingabe verwende ich ein...
  8. Bilder in ACCESS 2003 anzeigen, wenn vorhanden.

    in Microsoft Access Hilfe
    Bilder in ACCESS 2003 anzeigen, wenn vorhanden.: Guten Abend liebe ACCESS Fans und Profis Hab mal ein wenig im Access programmiert, bin aber schon lange raus..... Habe eine Datenbank, in der Artikelbeschreibung, Artikelbild und Preis...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden