Formular für wiederkehrende Prüfung

Guten Morgen zusammen, ich konnte letzte Woche die Datenbank ausgiebig im Einsatz testen. Hat alles wunderbar hingehauen. Eine Sache ist allerdings aufgetaucht worauf ich noch keine Antwort gefunden habe und auch keinen Workaround.

Ein berechnetes Feld (gefahrene km) wird berechnet aus letzte km und aktuelle km. Jetzt kommt es aber vor, dass der Tacho ausgetauscht wird und der km dann nicht mehr stimmt. Ich suche nach einer Möglichkeit, das berechnete Feld, vielleicht per Ja/Nein Box, überschreiben zu können.

Ich hoffe ich hab mich klar genug ausgedrückt. Danke schon mal
 
Werbung:
Guten Morgen,
damit das korrekt gehandhabt werden kann benötigst Du eine Tabelle Tachos, die in einer 1:n Beziehung zum Stammsatz der Fahrzeuge steht, weil ein Fahrzeug im Laufe seines Lebens mehrere Tachos haben kann. Felder : FahrzeugID, TachoID, Einbaudatum und EinbauKmStand, (ggf. Ausbaudatum und Ausbaustand, was aber auch nicht unbedingt sein muss, weil man ja auch die letzte Befundung mit diesem Tacho kennt).
Das berechnete Feld hast Du hoffentlich nicht nicht in einer Tabelle (Fahrzeuge oder Befundungen), sondern in einer Abfrage. So reicht es bei jeder Befundung den KmStand einzutragen. Jeder KmStand zu jedem Zeitpunkt lässt sich dann immer dynamisch ermitteln.
 
Danke für die Anleitung. Leider klappt das nicht so. Ich hab ne tbl_Tacho angelegt. Hab diese mit tachoid, fzgid, einbau-, ausbaustand und einbaudatum versehen. sobald ich aber die beziehung zu meiner tbl fahrzeuge setze, funktioniert die abfrage nicht mehr. erst wenn ich in der tbl_tacho einer fzgid werte hinterlge, erscheint dieses fahrzeug wieder.
 
Die Beziehung in den Tabellenbeziehungen ist eine 1:n. Das ist richtig, damit die referentielle intigrität gewährleistet ist. In der Abfrage kannst Du die Beziehung, die der Generator vorgiebt löschen (auf den Strich klicken und entf). Stattdessen legst Du in der Abfrage eine neue Beziehung an. Wenn Du dann auf den Strich klickst, kannst Du die Art der Beziehung einstellen. Du benötigst einen Left Join (alle aus der linken Tabelle (Fahrz) und die aus der rechten Tabelle (Tacho), die vorhanden sind.) An der rechten Seite des Beziehungsstrichs ist dann ein kleiner Pfeil zu sehen. Spiel mal mit den Beziehungen in den Abfragen rum um die Auswirkungen zu sehen. Wichtig ist, immer zu beachten, dass die Beziehungen den Tabellen nicht identisch mit Beziehungen in Abfragen sind. Sie haben aber eine höhere Priorität und werden deshalb erstmal immer vom Abfragegenerator vorbelegt.
 
Die Beziehung in den Tabellenbeziehungen ist eine 1:n. Das ist richtig, damit die referentielle intigrität gewährleistet ist. In der Abfrage kannst Du die Beziehung, die der Generator vorgiebt löschen (auf den Strich klicken und entf). Stattdessen legst Du in der Abfrage eine neue Beziehung an. Wenn Du dann auf den Strich klickst, kannst Du die Art der Beziehung einstellen. Du benötigst einen Left Join (alle aus der linken Tabelle (Fahrz) und die aus der rechten Tabelle (Tacho), die vorhanden sind.) An der rechten Seite des Beziehungsstrichs ist dann ein kleiner Pfeil zu sehen. Spiel mal mit den Beziehungen in den Abfragen rum um die Auswirkungen zu sehen. Wichtig ist, immer zu beachten, dass die Beziehungen den Tabellen nicht identisch mit Beziehungen in Abfragen sind. Sie haben aber eine höhere Priorität und werden deshalb erstmal immer vom Abfragegenerator vorbelegt.
Ich bin so ein Held LOL. Das ist Punkt 3 in den Beziehungen. Ich hatte Punkt 2 ausprobiert, da passierte nichts was mich weiter gebracht hat und dann hab ich schon wieder an ner anderen Stelle gesucht. Manchmal muss man das Brett auch vom Kopf weg nehmen
 
Irgendwie bekomme ich die Geschichte mit dem Tacho nicht in den Griff. Da die Erfassung des KM Stands in einem Unterformular läuft, kann ich den, mit dem Fahrzeugstamm verknüpften Tacho, nicht in der zuständigen Abfrage unterbringen. Wenn ich es dennoch versuche, bekomme ich nur Fehler. Ich stehe auf dem Schlauch :(
 
Ich denke, dass sich das lösen lässt. Aber bitte beschreibe das Problem und die Fehler noch mal genauer. Evtl mit ein paar anonymisierten Hardcopies von Tabellenbeziehungen und Abfrageentwurfsfenstern.
 
Werbung:
Es ist eigentlich dieselbe Geschichte, wie bei der Errechnung der zwischen zwei Befundungen gefahrenen Km. Die neue Tabelle Tachos an die Fahrzeuge zu hängen erscheint mir der falsche Weg, sorry. Der Wechsel des Tachos erfolgt ja bei einer Befundung. Also binde ich Sie an die Tabelle Befundungen. Die Herausforderung besteht nun darin die Saldierung der Tachostände richtig durchzuführen.
Ich bin nun folgendermaßen vorgegangen:
-Anlage der Tabelle Tachos (TachoID und Bezeichnung)
-Erweiterung der Tabelle Befundungen um den Fremsschlüssel TachoID
-Erstellung der Beziehung zur Tabelle Befundungen (1:n)
-Erstellung des Feldes Gesamtfahrleistung eines Fahrzeuges als DomSummenfeld im Formularkopf fm_Fahrzeug als Kontrollfeld
-Ergänzung der Abfrage qBefundung um die Berechnung der Tacho-Felder (Beachte die Formeln in den Feldnamen der Abfrage, die sich mit der Domwert-Funktion jeweils den vorigen Satz holen.)
-Einbau der neuen Felder in das Formular fm_Farzeug

Wird nun bei einer Befundung ein Tachowechsel durchgeführt müssen zwei Befundungssätze angelegt werden.
Zuerst ein Satz mit dem alten Tacho, damit die Differenz zur vorigen Befundung weiter stimmt. Bei der Zweiten (alle Daten sind identisch) wird der neue Tacho eingetragen. Hier ist die Differenz dann natürlich Null. (Ich gehe aktuell davon aus, dass eine neuer Tacho immer bei Null beginnt.)
Blättert man nun durch die Befundungen eine Fahrzeugs werden die Felder weiterin richtig berechnet. Die Gesamtfahrleistung aktualisiert sich, wenn man in den Formularkopf klickt und F5 druckt oder, wenn man das Fahrzeug einmal wechselt. Dieser Requery lässt sich auch automatisieren. Habe ich im Moment drauf verzichtet, da im Moment alles noch ohne VBA läuft.

siehe Anhang
 

Anhänge

Zurück
Oben