collapse

* Benutzer Info

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

* Wer ist Online

  • Punkt Gäste: 70
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 14038
  • stats Beiträge insgesamt: 67221
  • stats Themen insgesamt: 9067
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Neuling hat Problem mit Abfrage. Zählenwenns ähnliche Funktion wird benötigt  (Gelesen 666 mal)

Offline Ninosaurier

  • Newbie
  • Beiträge: 3
Hallo,
ich habe seit kurzem die Aufgabe auf der Arbeit eine Termindatenbank zu pflegen, diese Datenbank wurde von meiner Vorgängerin erstellt und wie das so ist kommen durch einen neuen Mitarbeiter neue Ideen weil einem auffällt, das manches sehr umständlich ist.
Ich bin absoluter Access Neuling, aber habe viel Erfahrung in Excel und VBA, die mir natürlich auch bei Access vom Vorteil sind. Deswegen konnte ich mir schon sehr viel selber beibringen und auch diverse Verbesserungen in der Datenbank machen.
Nun habe ich aber ein Problem, dass ich selber nicht gelöst bekomme, obwohl ich von der Logik her schon etwa weiß, was ich machen müsste, es fehlt mir dann aber doch an Erfahrung um es selber zu lösen.

Ich habe eine Übersicht mit den aktuellen Aufträgen, welche teilweise vielen Positionen bestehen, ich möchte in der Abfrage sehen können, ob ein bestimmtes Teil/Produkt dabei ist, welches noch zu einer externen Bearbeitung muss (in der Beispieldatei müssen Rohre zum Verzinken). Das „ja“ oder „nein“ ermittele ich einfach über ein berechnetes Feld mit „Wenn“. Das heißt aber auch, dass in der Positionsübersicht zu den Aufträgen in einem Auftrag mehrere „ja“ und „nein“ sein können. Und genau das ist mein Problem, wenn in einem Auftrag ein „ja“ und „nein“ drin ist, habe ich den in der Übersicht dann einmal mit „ja und das andere Mal mit „nein“.

Wie bekomme ich es nun hin, wenn ich ein „ja“ im Auftrag ist, den Auftrag nur mit „ja“ und die Zeile mit „nein“ wegzulassen“, falls aber kein „ja“ vorhanden ist, den Auftrag trotzdem mit „nein“ aufzuführen?

Es könnte auch das berechnete Feld geändert werden. Das Feld wird nur in der Abfrage verwendet. Oder halt die Abfrage mit SQL-Befehlen anders gestalten.
Von meiner Excel-Denkweise würde ich das berechnete Feld praktisch mit einem „Wenn“ und „Zählenwenns“ ausstatten. Auftragsnummer und „Rohr“ als Kriterien und wenn das Ergebnis von „Zählenwenns“ größer 0 ist kommt ein „ja“ hin.
Das muss man doch in die Abfrage oder das berechnete Feld bekommen oder?

Ich danke euch vorab schon mal vielmals!

 

Offline ebs17

  • Access-Meister
  • ***
  • Beiträge: 912
Eingangsfrage: Gibt es mehr zu verzinken als das Produkt Rohr?
Eine Hardcodierung wäre dann sehr schlecht, das Datenmodell müsste erweitert werden.

Zu berechneten Feldern in Tabellen hat Philipp Stiefel einen Beitrag geschrieben. Ich stimme vor allem den genannten Problemen zu und würde Berechnungen in Abfragen verlegen.
Mit freundlichem Glück Auf!

Eberhard
 

Offline Ninosaurier

  • Newbie
  • Beiträge: 3
Nein es geht nur um die Rohre. Habe noch eine andere Abfrage wofür ich das vielleicht auch gebrauchen könnte aber auch hier ist nur eine Kriterium und nicht mehrere Sachen oder so.
 

Offline ebs17

  • Access-Meister
  • ***
  • Beiträge: 912
SELECT
   A.Auftragsnummer,
   A.Kundennummer,
   A.Termin,
   P.verz
FROM
   Aufträge AS A
      INNER JOIN
         (
            SELECT
               Auftragsnummer,
               MIN(IIF(Produkt = 'Rohr', 'ja', 'nein')) AS verz
            FROM
               [PSP-Elemente]
            GROUP BY
               Auftragsnummer
         ) AS P
         ON A.Auftragsnummer = P.Auftragsnummer
ORDER BY
   A.Auftragsnummer
Mit freundlichem Glück Auf!

Eberhard
 

Offline Ninosaurier

  • Newbie
  • Beiträge: 3
Besten Dank!
Dann werde ich jetzt auch versuchen den Code zu verstehen :D