online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon Chrisibert vom 17.12.2019, 15:52 Options

Schichtplan mit Abfrage

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 schreiben

Antwort 1 von Teddy7 vom 17.12.2019, 16:54 Options

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 vom 18.12.2019, 11:39 Options

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 vom 18.12.2019, 13:08 Options

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 vom 19.12.2019, 13:08 Options

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 vom 14.02.2020, 15:03 Options

Hallo Teddy!

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

Ähnliche Themen

abfrage
jasper111  19.01.2007 - 153 Hits - 3 Antworten

Tabellenübergreifend kopieren/ausfüllen
Eski  17.12.2007 - 96 Hits - 2 Antworten

access abfrage
lbw54  05.05.2008 - 153 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026