Access 2007 Zeitplan aus Datensätzen erstellen?

Hi, ich habe in Access 2007 eine Anzahl an Datensätzen mit den Spalten Bennung, Zahl, Anfang, Dauer, Ende - Anfangs sind nur Zahl und Benennung befüllt. Die Datensätze werden nach der Spalte Zahl sortiert. Jetzt sollte in den ersten Datensatz in der Spalte Anfang ein Wert eingegeben werden (z.B. 08:00), sowie in allen nachfolgenden Datensätzen die Dauer. Jetzt kommt es: Nachdem die „Startzeit“ für den ersten Datensatz und auch die Dauer für jeden weiteren Datensatz vorliegen, sollte auf Knopfdruck oder automatisch die Anfangszeit und die Endezeit für jeden Datensatz eingetragen werden.

So sollte es dann aussehen:

Zahl—Benennung—Anfang—Dauer—Ende
01-----Teil5------------08:00----00:10—08:10
03-----Teil1------------08:10----00:05—08:15
15-----Teil8------------08:15----01:05—09:20

Anmerkung: Mit Excel geht das über Formel relativ einfach. Nur mit Access hab ich ein Problem, weil ich ja hier keine Formel in den „Zellen“ eintragen kann. Bisher habe ich leider noch nichts passendes gefunden.

Danke für Eure Hilfe!

Hallo,

Hi, ich habe in Access 2007 eine Anzahl an Datensätzen mit den
Spalten Bennung, Zahl, Anfang, Dauer, Ende - Anfangs sind nur
Zahl und Benennung befüllt. Die Datensätze werden nach der
Spalte Zahl sortiert. Jetzt sollte in den ersten Datensatz in
der Spalte Anfang ein Wert eingegeben werden (z.B. 08:00),
sowie in allen nachfolgenden Datensätzen die Dauer. Jetzt
kommt es: Nachdem die „Startzeit“ für den ersten Datensatz und
auch die Dauer für jeden weiteren Datensatz vorliegen, sollte
auf Knopfdruck oder automatisch die Anfangszeit und die
Endezeit für jeden Datensatz eingetragen werden.

So sollte es dann aussehen:

Zahl—Benennung—Anfang—Dauer—Ende
01-----Teil5------------08:00----00:10—08:10
03-----Teil1------------08:10----00:05—08:15
15-----Teil8------------08:15----01:05—09:20

Anmerkung: Mit Excel geht das über Formel relativ einfach. Nur
mit Access hab ich ein Problem, weil ich ja hier keine Formel
in den „Zellen“ eintragen kann. Bisher habe ich leider noch
nichts passendes gefunden.

Access ist nun auch nicht Excel…
In Access gibt es keinen „ersten“ oder „letzten“ Datensatz (wenn kein Sortierkriterium definiert ist)

Insofern müßte in o. g. Tabelle eine fortlaufende Nr mitgeführt werden, die eben diese Sortierung ermöglicht.

Weiterhin ist die Endezeit lediglich für eine Anzeige gut und braucht/sollte/muss nicht gespeichert werden.

Um die Endezeit für den nächsten neuen DS als Vorgabewert für das Feld „Anfang“ zu benutzen, kann man die dessen Eigenschaft „Standardwert“ auf die vorher berechnete Endezeit setzen (in der Ereignisprozedur „Nach Aktualisierung“ von Feld „Dauer“

Sub Dauer_Afterupdate()
Me!Anfang.DefaultValue= Str(CDbl(Dateadd(„n“,nz(Me!Dauer,0),nz(Me!Anfang,Now()))))
End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hi Franz, danke für die Antwort. Du hast ja Recht, Access Excel … :wink:.

Zur Sortierung würde ich die Spalte Zahl verwenden (s. Beispieltabelle). Ich muss die Endzeit auch nicht in einer Tabelle abspeichern. Es würde reichen, wenn Sie im Formular des jeweiligen Datensatzes angezeigt wird. Im Prinzip ist sie nur für die Übergabe zur nächsten Zeitberechnung notwendig - wie Du schon erkannt hast.

Was ich aber benötige ist ein „Ausdruck“ des kompletten Zeitplans nach obiger Darstellung - in Access ist das wahrscheinlich dann ein Bericht … man merkt ich wende Access seeehr selten an … :wink:.

Ich versuch mal Deine Programmzeilen einzubauen.

… jetzt hab ich schon etwas rumprobiert, aber da ist mir etwas aufgefallen.

@Franz: Nach deiner Formel wird in jedem neuen Datensatz der Standardwert des Feldes Anfang gleich dem ersten Datensatz gesetzt und der berechnete Wert des Feldes Ende aus dem letzten Datensatz eingesetzt - abgesehen davon beginnen jetzt die neuen Datensätze ab der ID 63044230.

Ich wollte aber nur im erten Datensatz den Anfangswert eingeben und dann sollte sich die Berechnung von oben bis unten durcharbeiten. D.h. zweiter Datensatz: Ende1 = Anfang2, dritter Datensatz: Ende2 = Anfang3, etc. (wie erwähnt ist das mit Excelformel ganz flott erledigt). Es entsteht somit ein Ablaufplan in Tabellenform, welcher anzeigt, wann am Tag mit dem ersten Teil begonnen wird, wie lange der jeweilige Vorgang für ein Teil dauert und wann das nächste Teil folgt, usw …
Was ich Anfangs vielleicht nicht genau beschrieben habe: Erst ensteht die Liste aus Zahl und Benennung. Dann wird nach Zahl sortiert. Und erst danach sollten die Zeiten eingetragen werden.

Dank Dir aber trotzdem, jetzt komm ich wenigstes wieder mal dazu meine Grips in Richtung Programmierung anzustrengen … :wink:

Hallo,

„Erst ensteht die Liste aus Zahl und Benennung. Dann wird nach Zahl sortiert. Und erst danach sollten die Zeiten eingetragen werden.“

da wird dann nur eine kleine Funktion, die das Ganze ausfüllt, aus der Patsche helfen.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

… scheint so. Ich dachte mir halt, dass es in access 2007 vielleicht auch schon manche „Automatik“ gibt, welche ich einsetzen kann - also eine „Klicklösung“ …