Supportnet / Forum / Datenbanken
Schichtplan mit Abfrage
Frage
Hallo!
Ich möchte gerne – wohl am besten im Access – einen Wochenplan bzw. Schichtplan erstellen. Dabei sollte zum einen das jeweilige Datum, Wochentag der Kalenderwoche von Montag bis Freitag automatisch in einer Vorlage eingetragen werden. Zum anderen soll der Schichtplan die Möglichkeit haben, Abwesenheiten, Urlaubstage global einzutragen. Ich möchte also nicht jede Woche händisch die jeweiligen Einträge durchgehen, sondern NAME und DATUM VON DATUM BIS automatisch als abwesend gesetzt haben.
Hat jemand eine Idee bzw. einen Einstieg, wie ich so etwas angehen kann?
Vielen Dank!
Chris
Antwort 1 von Teddy7
Hi Chris !
Das ist nicht so ganz trivial.
Problem: mehr als 255 Felder pro Formular bzw. pro Datensatz ist nicht drin.
Ich würde eine Tabelle machen, in der Name, Datum, Tätigkeit steht.
Dann würde ich eine zweite Tabelle machen mit Name, Tätigkeit Tag1, Tätigkeit Tag2, usw
Diese 2. Tabelle würde ich mit VBA-Programmierung unmittelbar vor der Anzeige füllen - sie also nur temporär führen.
Blättert der User also auf die nächste Woche, dann wird erst wieder die Tabelle gefüllt und dann angezeigt.
Gruß
Teddy
Das ist nicht so ganz trivial.
Problem: mehr als 255 Felder pro Formular bzw. pro Datensatz ist nicht drin.
Ich würde eine Tabelle machen, in der Name, Datum, Tätigkeit steht.
Dann würde ich eine zweite Tabelle machen mit Name, Tätigkeit Tag1, Tätigkeit Tag2, usw
Diese 2. Tabelle würde ich mit VBA-Programmierung unmittelbar vor der Anzeige füllen - sie also nur temporär führen.
Blättert der User also auf die nächste Woche, dann wird erst wieder die Tabelle gefüllt und dann angezeigt.
Gruß
Teddy
Antwort 2 von Chrisibert
Lieber Teddy,
vielen herzlichen Dank für Deine Antwort. Kannst Du mir noch einen Fingerzeig für die richtige VBA-Programmierung geben, oder einen Link zum genaueren Nachlesen...
Gruß
Chris
vielen herzlichen Dank für Deine Antwort. Kannst Du mir noch einen Fingerzeig für die richtige VBA-Programmierung geben, oder einen Link zum genaueren Nachlesen...
Gruß
Chris
Antwort 3 von Teddy7
Natürlich gibts da Bücher drüber, aber das ist nix für Anfänger.
Meine Empfehlung wäre, dass Du Dir den Code von einem Profi schreiben läßt. Das ist gar nicht so teuer wie man meint.
Gruß
Teddy
Meine Empfehlung wäre, dass Du Dir den Code von einem Profi schreiben läßt. Das ist gar nicht so teuer wie man meint.
Gruß
Teddy
Antwort 4 von Teddy7
Hier ein paar zusätzliche Hinweise:
Den Zugriff zu einer Tabelle definiert man so:
Dim ttab1 As DAO.Recordset
Set ttab1 = CurrentDb.OpenRecordset("Select * from tblKunde", dbOpenDynaset)
Dabei nicht vergessen einen Verweis auf Microsoft DAO zu setzen.
Die Tabelle liest man dann so:
dim ktab1 as string
ktab1 = "KundenNr = " & kunde
ttab1.FindFirst ktab1
wenn´s mehrere Sätze sind findet man den nächsten mit
ttab1.findnext
einen neuen Datensatz anlegen:
ttab1.addnew
einen gelesenen Datensatz verändern:
ttab1.edit
ttab1!kundenname = "Hugo"
ttab1.update
zum Cshluß nicht vergessen die Tabelle zu schließen und den Platz wieder freizugeben:
ttab1.Close
Set ttab1 = Nothing
Viel Spaß
Teddy
Den Zugriff zu einer Tabelle definiert man so:
Dim ttab1 As DAO.Recordset
Set ttab1 = CurrentDb.OpenRecordset("Select * from tblKunde", dbOpenDynaset)
Dabei nicht vergessen einen Verweis auf Microsoft DAO zu setzen.
Die Tabelle liest man dann so:
dim ktab1 as string
ktab1 = "KundenNr = " & kunde
ttab1.FindFirst ktab1
wenn´s mehrere Sätze sind findet man den nächsten mit
ttab1.findnext
einen neuen Datensatz anlegen:
ttab1.addnew
einen gelesenen Datensatz verändern:
ttab1.edit
ttab1!kundenname = "Hugo"
ttab1.update
zum Cshluß nicht vergessen die Tabelle zu schließen und den Platz wieder freizugeben:
ttab1.Close
Set ttab1 = Nothing
Viel Spaß
Teddy
Antwort 5 von Chrisibert
Hallo Teddy!
Komme erst jetzt dazu mich zu bedanken! Dankeschön für Deine Hinweise!
Komme erst jetzt dazu mich zu bedanken! Dankeschön für Deine Hinweise!

