Supportnet Computer
Planet of Tech

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

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

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

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

Antwort 5 von Chrisibert

Hallo Teddy!

Komme erst jetzt dazu mich zu bedanken! Dankeschön für Deine Hinweise!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: