PDA

Vollständige Version anzeigen : Hilfe bei Abfragen


enfuego
24.01.2008, 17:49
Hallo,

ich versuche gerade verzweifelt eine Abfrage zu erstellen, die es mir erlaubt das folgende Problem zu lösen:
Ich habe eine Klasse Bus, jeder Bus hat einen Kilometerstand. Desweiteren habe ich eine Inspektion, diese hat verschiedene Inspektionspläne (einen für jede 20000km). Jetzt möchte ich, dass mir in die Zwischenklasse geschrieben wird, welche Busse gerade in die Inspektion müssen, also einem Bus mit dem Kilometerstand= 20000 soll der Plan 1 mit Kilometerstand= 20000 zugeordnet werden. Am besten sogar alle Busse im Intervall 19000-21000km.
Anbei die Klassen, der Klassenname ist fett , die Schlüssel sind unterstrichen. Die Beziehungen sind die folgenden: bus.nrbus mit zwischenklasse.nrbus und inspektion.nrplan mit zwischenklasse.nrplan


Bus
NrBus
Kilometerstand_Bus

ZwischenKlasse
NrBus
NrPlan

Inspektion
NrPlan
Kilometerstand_Inspektion

Inhalt der Klasse Bus

NrBus Kilometerstand_Bus
1 19000
2 20000
3 21000
4 60000
5 61000


Inhalt Klasse Inspektion
NrPlan Kilometerstand_Inspektion
1 20000
2 40000
3 60000
4 80000

Würde mich über schnelle Antwort freuen, ich habe schon den ganzen Tag alles mögliche probiert und nichts funktioniert :-(

Vielen Dank schon mal

enfuego

Ps: Ich kann auch gerne die Datenbank versenden, wenns hilft.

lalo
24.01.2008, 17:56
Beitrag gelöscht

SaschaBHH
24.01.2008, 20:38
ein unwissender fragt: warum gelöscht und noch zu lesen?

gpswanderer
24.01.2008, 22:05
Hallo,
habe Dir mal ein kleines Beispiel gemacht.
Öfnne das Formular1, dort kann die Zuordnung zu den Plänen gemacht werden.
Dann schau Dir die Abfrage an. Dort siehst Du welcher Buss fällig ist.
Im Formular wird bei einem fälligen Buss die entsprechende Inspektion rot markiert.

PS:
Das sind keine Klassen, sondern Tabellen, oder datenbanktechnisch korrekt "Relationen". Klassen ist im Zusammenhang mit Access was anderes.

enfuego
25.01.2008, 00:15
Hallo,
habe Dir mal ein kleines Beispiel gemacht.
Öfnne das Formular1, dort kann die Zuordnung zu den Plänen gemacht werden.
Dann schau Dir die Abfrage an. Dort siehst Du welcher Buss fällig ist.
Im Formular wird bei einem fälligen Buss die entsprechende Inspektion rot markiert.

PS:
Das sind keine Klassen, sondern Tabellen, oder datenbanktechnisch korrekt "Relationen". Klassen ist im Zusammenhang mit Access was anderes.
Hi gpswanderer,

vielen, vielen Dank erstmal für die Lösung, allerdings habe ich kleinere Probleme mit der Implementierung in meine Datenbank. Es liegt vor allem wahrscheinlich daran, dass ich die Reihenfolge der Erstellung der Abfrage und Formulare und deren Abhängigkeiten noch nicht verstanden habe.
Ich erstelle erst meine Abfrage, aber schon diese gibt mir nicht die gleichen Daten aus wie bei Dir. Bei den Formularen komm ich auch nicht weit, habe das Formular einfach über den Assisenten erstellt und dann NrPlan aus der Abfrage ausgewählt, aber da kommt nichts gescheites raus :-(
Wie genau funktioniert denn die Tabelle BusPlan, also hast du die mit Daten gefüllt oder hat das Access für Dich gemacht?

Vielen Dank für deine Mühen,

enfuego

Ps: Ich könnte Dir die Datenbank auch schicken, wenns hilft.

gpswanderer
25.01.2008, 07:18
Hallo,
Ps: Ich könnte Dir die Datenbank auch schicken, wenns hilft.Hier hochladen bitte. Vorher komprimieren und dann zippen.

enfuego
25.01.2008, 08:56
Hi,

hier die Datenbank, nicht wundern, die Attribute sind zum Teil auf französisch, Kilométrage= Kilometerstand und die Tabellene haben die folgendenden Namen: Plan Preventif=Inspektion und Plan prev des bus=Busplan, Bus bleibt Bus. Die Abfrage1 habe ich Abfrage=Inspektion genannt.
Hoffe, das Ganze ist nicht zu verwirrend.
Vielen, vielen Dank,

enfuego

gpswanderer
25.01.2008, 09:46
Hallo,
DB anbei.
In der Abfrage Inspektion, die so stimmt, sind natürlich nur Daten wenn es unerledigte Inspektionen gibt. (Kriterium: Erledigt <>-1).

PS:
Bitte die DB mit dem Accessdienstprogramm "Komprimieren reparieren" reglemäßig komprimieren.
Auf solch komplizierte Feldnamen würde ich generell verzichten. Keine Leerzeichen und keine Sonderzeichen, auch nicht in französisch.
Die Beziehungen scheinen mir auch zuviel des Guten. Aber mangels Sprachkenntnissen kann ich da nicht wirklich was dazu sagen.

enfuego
25.01.2008, 11:40
Vielen Dank :-)
Ja, hab mir auch schon Gedanken darüber gemacht, das ganze schmäler zu machen, aber hier in der Uni wollen die das so, lieber kompliziert, naja :-(
Aber bin da für Anregungen offen und wäre dankbar für einen Link, wo ich mal eine ausführlichere Einleitung zu Access lesen kann.
Vielleicht noch kurze Erklärung zur Datenbank, es geht um ein System das Busse verwaltet, hier soll vor allem auf die Wartung und die Reparatur eingegangen werden, die Tabelle OT steht für Ordre de Travail, ist das Kernstück, hier wird eingetragen, diese OT werden für jeden Bus erstellt die zur Inspektion müssen oder einen Schaden haben, die Art des Eingriffs wird über das Attribut festgelegt. Es gibt verschiedene Equipe, die sich um verschiedene Schäden kümmern können, mechanische, elektrisch, Karosserie. Diese Equipes bestehen aus Agenten=Arbeitern, die dann die Arbeiten erledigen. Hier bin ich gerade dabei eine Funktion zu erstellen, die mir sagt, wann ein Arbeiter beschäftigt ist und wann er verfügbar ist (Tabelle: TempsOT) und Abfrage Verfügbarkeit. Ich habe die Zeiten als Nummer eingegeben, zb: 18.00=1800, damit ich damit besser rechnen, weil er bei anderne Abfragen mich Uhrzeiten von einander abziehen ließ. Außerdem würde ich gerne die Agenten darstellen, die gerade keinen Arbeit haben, muss ich denen dafür einfach Arbeitszeiten zu weisen in der Tabelle: Agent, also ein neues Attribut einführen? Achja HoraireDebut und HoraireFin stehen für Arbeits Anfang und Ende, daraus habe ich dann in Abfrage Arbeitszeit mir die gebrauchten Stunden ausrechnen lassen, das würde ich eigentlich auch gerne in die Tabelle OT schreiben.

Vielen Dank im Voraus,

enfuego

enfuego
25.01.2008, 15:39
Hi,

ich hab es jetzt geschafft das Stunden subtrahiert werden also als Stunden. Wenn ich jetzt einem Agent ein OT, also einen Arbeitsauftrag zuweise und er dort seine gearbeiteten Stunden mit Anfangs und Startzeit eintraegt, wie schaffe ich es dann, dass ich seine Verfuegbare Zeit anpasse. Zum Beispiel, er arbeitet von 6:00-14:00 jeden Tag, am 1.1.2008 hat er dann von 6:00-8:00 an OT Nr:1 gearbeitet, wie kann ich dann mit einer Abfrage ermitteln, dass dieser Agent=Arbeiter an diesem Tag nur noch von 8:00-14:00 verfuebar ist, fuer andere OTs= Arbeitsanweisungen.

Vielen Dank im Voraus

enfuego

enfuego
25.01.2008, 21:34
Brauche immer noch jemanden, der mir dringend hilft, trete auf der Stelle und ist sehr frustierend. Problem ist immer noch das oben Beschriebene, also das mit dem Zeitplan.

Danke