johannesk
Goto Top

Jahresinspektion abfragen

Hallo zusammen,
ich versuche gerade eine Abfrage für Bestellungen zu erstellen. Ich habe zwei Tabellen, eine mit Maschinen und die andere mit Bestellungen für diese Maschinen.

In der Tabelle Bestellungen habe ich Felder wie: Jahresinspektion, Kettenschutz, Rahmen. Das bedeutet, dass diese Punkte durch einen Vertragshändler abgearbeitet wurden.
Jetzt möchte ich eine Abfrage erstellen um zu gucken, welche Maschinen in diesem Jahr noch zur Jahresinspektion müssen.
Also muss abgefragt werden: Gibt es eine Bestellung für Maschine 123 im Jahr 2011, wo das Feld Jahresinspektion 1 ist.
Die Problematik: Es gibt für Maschine 123 4 Bestellungen im Jahr, davon ist aber bei keiner das Feld „Jahresinspektion=1“.

Kann mir da jemand helfen?

Content-ID: 173931

Url: https://administrator.de/contentid/173931

Ausgedruckt am: 25.11.2024 um 22:11 Uhr

dan0ne
dan0ne 29.09.2011 um 16:07:35 Uhr
Goto Top
Hallo,

wie soll dir den da jemand Helfen können ? Um was handelt es sich den ? Excel, MySQL...... ? Desweiteren wäre es schön wenn du mal ein Beispieldatensatz zeigen könntest.

Gruss
eisbein
eisbein 29.09.2011 um 17:40:34 Uhr
Goto Top
Zitat von @dan0ne:
Hallo,

wie soll dir den da jemand Helfen können ? Um was handelt es sich den ? Excel, MySQL...... ?

Das es in der Rubrik Access steht, wirds es sich wohl auch um Access handeln......!! Wohl dem, der lesen kann! face-wink

Dennoch sind weitere Informationen nicht schlecht!
Welche Version von Access?
Aufbau der Tabellen mit Beispieldaten?


eisbein
dan0ne
dan0ne 29.09.2011 um 17:55:39 Uhr
Goto Top
Okay, dadrauf habe ich nun wirklich nicht geachtet. Wäre ja aber auch nicht zuviel verlangt das direkt mit dazu zu schreiben :p
JohannesK
JohannesK 30.09.2011 um 09:15:53 Uhr
Goto Top
Hallo,
es handelt sich um Access 2010 
Meine Tabelle Bestellungen ist folgendermaßen aufgebaut:
1. ID Autowert
2. BestellNr Zahl
3. MaschinenNr Zahl
4. Datum Datum/Uhrzeit
5. Jahresinspektion Ja/Nein
6. Lenker Ja/Nein
7. ….. Ja/Nein
37. Sonstiges Text
38. Bemerkung Text
39. Anlage Anlage
40. Bearbeiter Zahl (Listauswahl aus einer anderen Tabelle)
Zwischen Feld 6 und 37 sind Standart-Reparaturen aufgeführt. Das sind Teile die sehr oft defekt sind, sodass wir diese in der Bestellung direkt mit aufnehmen.

Meine Tabelle Maschinen sieht so aus:
1. ID Autowert
2. MaschinenNr Zahl
3. BestellNr Zahl
4. BestellJahr Datum/Uhrzeit
5. MaschinenNr Text
6. Hersteller Text
7. Maschinentyp Zahl (Listauswahl aus einer anderen Tabelle)
8. Farbe Text
9. Kostenstelle Text
10. Verantwortlicher Text
11. TelefonNr Text
12. Gesellschaft Zahl (Listauswahl aus einer anderen Tabelle)
13. Bemerkung Text
14. Anlage Anlage
In dieser Tabelle ist mit dem Feld BestellNr die Nummer gemeint, mit der die Maschine bestellt wurde. Keine Wartung oder Reparatur.

Die beiden Tabellen wollte ich über die MaschinenNr miteinander verknüpfen. Das funktioniert auch schon ganz gut, jedoch habe ich Schwierigkeiten damit eine Abfrage zu bauen die mir herausfiltert welche Maschinen in diesem Jahr noch eine Jahresinspektion benötigen und welche nicht.
Gruß
Johannes
jato11
jato11 30.09.2011 um 14:41:42 Uhr
Goto Top
Hallo Johannes,

wenn das Feld Jahresinspektion ein Ja/Nein-Feld ist wird in dem Feld, wenn es markiert wurde "-1" stehen.
Ist es nicht markiert wird dort eine "0" stehen.

Ich würde es wahrscheinlich noch etwas anders machen:

- Bei der Maschine ein Feld "Intervall" einrichten und dann den Wert in Monate eingeben und diesen Wert bei der Bestellung übernehmen.
- In der Bestellung gleich das Inspektionsdatum errechnen. Damit bekommst du die Liste Inspektionsliste nach Datum sortiert.
- Anschließend einen Vermerk in "erledigt" eintragen und in der Abfrage berücksichtigen. Damit hast du nur die offenen Inspektionen
- Mit dem "erledigt"-Vermerk kannst du gleich die nächste Inspektion berechnen.

Noch besser wäre es für die Inspektionen ein Unterformular (Tabelle) zu nutzen, dann hast du auch die Historie und könntest die angefallenen Arbeiten vermerken.

Viele Grüße
Torsten
JohannesK
JohannesK 04.10.2011 um 13:43:25 Uhr
Goto Top
Hallo Thorsten,
kannst du mir deinen Ansatz mit der Inspektionstabelle vielleicht näher erklären? Das Problem was ich sehe, ist das ich in der Tabelle alle Inspektion aus mehreren Jahren habe.
Dann muss ich ja filtern:
Maschine 203, Jahr 2010, Bestellnummer, Bemerkung
jato11
jato11 06.10.2011 um 14:51:11 Uhr
Goto Top
Hallo,
die Maschinennummer ist doch einmalig wie eine Serien-Nr oder?

Ich würde eine Tabelle (Inspektionen) erstellen, die folgende Felder enthält
MaschinenNr
Datum_der_Inspektion
Bearbeiter
ausgeführte_Arbeiten
nächste_Inspektion

Die Tabelle Maschinen würde ich um ein Feld Inspektionsintervall) erweitern.
Dann ein Formular für die Maschine erstellen (nur mit den Technischen Daten der Maschine)
und ein Formular für die Inspektionen.

Dann das Formular für die Inspektionen als Unterformular im Maschinen-Formular einbinden und über die MaschinenNr verknüpfen
Als Datenbasis für ein Formular nehme ich immer eine Abfrage und nicht die Tabelle.
Nun kannst du die Daten schon vernünftig erfassen. Jede Inspektion ist ein Datensatz.
Die Maschine selbst gibt es nur einmal in der Datenbank.

Die Auswertung ist jetzt einfach:
erstelle eine Abfrage
füge die Tabellen "Maschinen" und "Inspektionen" ein und verknüpfe die Beiden
(ich glaube 1:N - zeige alle Maschinen und nur die passenden Inspektionen)
dann wähle die Felder aus die in der Liste aufgeführt werden sollen
erzeuge unten ein Feld
"Jahr: Datteil ("jjjj";nächste_Inspektion)" OHNE Anführungszeichen, evtl muss nächste_Inspektion in eckige Klammern gesetzt werden.
und bei Kriterium trage mal ein Jahr ein z.B 2011
jetzt kannst die Daten testen indem du die Abfrage öffnest (nicht im Entwurfmodus)


Viele Grüße
Torsten