yan2021
Goto Top

Urlaubskalender für Belegschaft mit Access?

Hallo an Euch Alle...

Nachdem ich vor längerer Zeit mal einen Urlaubskalender erstellen wollte über Excel, was nicht wirklich funktionierte und was am Ende viel zu aufwendig und kompliziert war, würde ich das Projekt nun gerne über eine Datenbank realisieren (z.B. Access).

Ich beschreibe mal kurz, wie die Umgebung hierfür aussieht:

Umsetzung in Windows 10 (64 bit)
Die Dateien, aus denen die jeweiligen Urlaube in die Datenbank (DB) übertragen werden sollen, liegen als Excel-Dateien vor.
Hier tragen die Mitarbeiter*innen ihre Urlaube händisch ein.
Diese Urlaube müssen also irgendwie in die DB übertragen werden... am besten natürlich automatisch.

Ich muss zugeben, dass ich mit Access noch keine Erfahrungen habe.
Natürlich werde ich mich dann damit befassen. Sicher gibt es da übers Internet ja auch gute Infos.

Aber für den Anfang wäre ich schon mal froh, wenn Ihr mir beim Start helfen könntet und mir zunächst mal erklärt, ob es überhaupt möglich ist, Daten aus einer Excel-Liste in Access zu übernehmen und wenn ja... dann mir zu erklären, wie man das grundsätzlich anstellt.

Danke Euch und Grüße,
Yan face-wink

Content-ID: 9510851440

Url: https://administrator.de/contentid/9510851440

Ausgedruckt am: 21.11.2024 um 17:11 Uhr

VGem-e
VGem-e 09.11.2023 um 09:30:54 Uhr
Goto Top
Moin,

habt Ihr keine elektronische Zeiterfassung, die das mit abbilden kann? Oder geht so ein digitaler Workflow z.B. wg. vieler Außenstandorte nicht?

Gruß
VGem-e
Jugg3r
Jugg3r 09.11.2023 um 09:34:54 Uhr
Goto Top
Moin,
möchtest Du Access lernen und machst den Kalender deshalb oder ist der Kalender als Plattform im Fordergrund?
godlie
godlie 09.11.2023 um 09:40:38 Uhr
Goto Top
Hallo,

befass dich lieber mit einer Datenbank und einem Datenbankfrontend, lass Access das bringt nur Schmemrz und Bein.

Du wirst zwar mehr Einarbeitungszeit haben, aber der Gewinn, über kurz oder lang, ist es einfach wert.

Access is zwar hübsch und klicki bunti, aber sobald mehr Benutzer auf die DB zugreifen im Netzwerk
fängt die Kacke an zu dampfen.

grüße
NordicMike
NordicMike 09.11.2023 um 09:57:49 Uhr
Goto Top
A.... Acc.... Access? Ernsthaft? Genau so schlimm wie Excel.

Warum hat jeder Email Client einen Kalender? (Thunderbird, Outlook)
Als Server gibt es Exchange, CalDAV usw.
Diese zeigen den Kalender auch schon ohne Mail Client an, als Web Version.
Yan2021
Yan2021 09.11.2023 aktualisiert um 10:48:53 Uhr
Goto Top
Danke Euch für die vielen interessanten und sinnvollen Fragen...

Wir haben zwar eine elektr. Zeiterfassung, aber die stammt aus Mitte der 90-er face-wink
Die funktioniert jedoch für das, was wir damit machen und daher soll sie weiterlaufen.
Urlaubskalender kann sie jedoch nicht!!

Der Urlaubskalender steht schon im Vordergrund. Access ansich interessiert(e) mich eigentlich bisher eher nicht.

Ich bin natürlich auch offen für andere Programme - es muss nicht unbedingt Access sein. Es sollte nur etwas sein, das nicht extra angeschafft (gekauft) werden muss. Ansonsten tut es sicher auch Access.

Wir sind insgesamt nur weniger als 15 MA. Daher werden die gleichzeitigen Zugriffe eher nicht passieren.
Das war übrigens sogar mit dem Urlaubsplan in Excel kein Problem. Es wäre Zufall, wenn da mal mehr als eine Person gleichzeitig drauf zugreifen würde.

Unsere Urlaube werden zwar auch in Outlook eingetragen, aber wir wollen für die GF eine Gesamtübersicht haben. Deshalb dann eben dieser jetztige Urlaubsplan in Excel.

Wie gesagt... ich bin offen für Alternativen.

Unsere Urlaubsanträge sind digital. Es handelt sich um Excel-Dateien, in die die MA ihren Urlaub eintragen.
Die Daten müßten dann irgendwie da rausgezogen werden... so hatte ich es ja jetzt mit dem Urlaubsplan in Excel auch gemacht. Da gab es jetzt nur Probleme, wenn ich die dig. Urlaubsanträge fürs neue Jahr gleichzeitig laufen lasse.

Bin gespannt auf Eure Vorschläge.

Grüße,
Yan face-wink
mayho33
mayho33 09.11.2023 aktualisiert um 10:57:44 Uhr
Goto Top
Von wievielen Usern sprechen wir denn?

Erstellt doch ein eigenes Postfach das ihr von mir aus Urlaubspost nennt.
Lasst zu dass es jeder User einbinden und Termine vergeben darf. Pro User noch Farben vergeben. Nun sollen die User dort Termine, aka, Urlaube eintragen. Voilla! Der Urlaubskalender ist fertig.

Für ein paar User sicherlich brauchbar. Wenn es mehr sind bestimmt nicht mehr. 😉🤣

Als Leitfaden siehe dazu auch hier:
https://www.idnt.net/de-AT/kb/841833

https://www.personizer.com/de/hr/outlook-urlaubskalender-erstellen/
Yan2021
Yan2021 09.11.2023 um 11:25:39 Uhr
Goto Top
Danke Dir @mayho33

Wie ich weiter oben schon geschrieben hatte, sind wir unter 15 Mitarbeiter*innen.
Wir wollten halt verhindern, dass die MA für den Urlaubsplan nochmal zusätzlich ihren Urlaub irgendwo eintragen müssen (hier wäre es ja in Outlook in diesem Raum-Postfach).

In meiner bisherigen Lösung ist es ja so, dass die MA ihren Urlaub in eine Excel-Liste eintragen. Über diese Excel-Liste wird der Urlaub auch von der GF genehmigt. Das funktioniert seit ein paar Jahren recht gut.

Und der Urlaubsplan erstellt sich AUTOMATISCH!! aus diesen digitalen Urlaubsanträgen (also den Excel-Listen).
Der Urlaubsplan zieht sich die Urlaubsdaten aus den U-Anträgen und fügt sie automatisch in die richtigen Monate zu den richtigen MA ein. Grundsätzlich funktioniert auch das recht gut.

Nur hatte man mir geschrieben, dass sich das mit einer Datenbank weniger kompliziert umsetzen ließe und auch besser. Deshalb hatte ich eben diese Idee mit der Access-DB.

Grüße von
Yan face-wink
ukulele-7
ukulele-7 09.11.2023 um 12:13:12 Uhr
Goto Top
Als erstes musst du diese "digitalen" Urlaubsanträge in eine sinnvolle Tabelle importieren, ansich egal in welcher DB oder welchem DBMS. Die Herausforderungen sind dabei meist fehlerhafte Formate, wenn z.B. sich einer in der Zeile vertut. Und die Tatsache, das die irgendwo auf einem Dateisystem liegen und verschiedene Dateinamen haben und du diese Dateinamen nicht kennst und auslesen musst.

Bei Access wirst du das wohl oder übel mit VB machen müssen, mit einem echten DBMS könnte man sich zumindest an einen automatisierten Import per Batch oder sowas heran tasten. Aber Zugriff auf Dateisystem und Abfragen, welche Dateien es gibt sind kein Spaß mittels SQL, auch wenn es zumindest unter MSSQL machbar wäre.

Sind erstmal alle Daten in der DB geht es fast einfach. Eine View bauen ist kein Problem es sei denn es geht um PIVOT... Und dann brauchst du noch etwas zur Anzeige.
Yan2021
Yan2021 09.11.2023 um 14:03:38 Uhr
Goto Top
Puuuuuh, das klingt dann doch alles viel komplizierter, als ich dachte.
Meine jetztige Lösung funktioniert ja grds. und ich habe auch schon eine (Kompromiß)Lösung gefunden für das Problem, dass die Urlaubsanträge für 2023 und 2024 nicht mit dem gleichen Namen im gleichen Verzeichnis abgelegt werden können.

Genau hier gab es nämlich das Problem, dass die Kolleg*innen schon in den Urlaubsantrag für 2024 Einträge machen wollten... dieser aber noch nicht vorlag.
Nun heißt der Urlaubsantrag für das Jahr 2023 = UA_Name.xlsm
Der für das Jahr 2024 dann einfach = UA_Name_2024.xlsm

Mein Urlaubsplan liest jedoch automatisch immer die Daten aus der Datei "UA__Name.xlsm" aus.
Aber das habe ich jetzt so gelöst, dass es dann für das Jahr 2024 einfach einen NEUEN Urlaubsplan gibt, der erst ab dem 1.01.2024 aktiviert wird. Dieser nimmt sich die Daten dann wieder aus der Datei "UA_Name.xlsm", da ich die Datei für das Jahr 2024 dann auch wieder so umbenennen kann und die Datei aus dem Vorjahr in einen Überordner "Vorjahre" verschiebe.

Denke das ist die beste Lösung. Man muss halt nur daran denken, zunächst beim Urlaubsantrag für das neue Jahr die Jahreszahl zusätzlich anzuhängen und diese Anfang des neuen Jahres wieder zu entfernen.

Werde dann wohl besser meinen Urlaubsplan so weiter nutzen... der ja auch bereits seit ein paar Monaten gut funktioniert und auf einen Blick alle Urlaube aller Mitarbeiter*innen für das ganze Jahr zeigt.

Danke Euch jedoch für Eure Tipps.

Grüße von
Yan face-wink
Yan2021
Yan2021 09.11.2023 aktualisiert um 14:29:09 Uhr
Goto Top
...eine Frage hätte ich noch, die direkt damit zusammenhängt:

Gibt es eine Möglichkeit, das aktuelle Jahr automatisch in eine Formel einfügen zu lassen?

Hier mal ein Beispiel:

='G:\Personal\.URLAUBS-Anträge\Name\[UA_Name.xlsm]Eingaben'!$A$14  

Über diese Formel wird der Inhalt der Zelle A14 aus der Datei "UA_Name.xlsm" genommen.
Wenn diese Datei jetzt jedoch "UA_Name_2024.xlsm" heißen würde und im kommenden Jahr "UA_Name_2025", dann müßte ich alle Formeln jedesmal anpassen.

Daher würde ich gerne das aktuelle Jahr quasi als Platzhalter in die Formel einfügen... z.B. so:

'G:\Personal\.URLAUBS-Anträge\Name\[UA_Name_&JAHR&.xlsm]Eingaben'!$A$14  

Das mit dem &-Zeichen ist jetzt nur so erfunden face-wink
Ich weiß aber, dass man in Excel das aktuelle Jahr durch den folgenden Eintrag in eine Zelle schreiben lassen kann: =JAHR(HEUTE())

Jedenfalls müßte ich dann nicht in jedem Jahr sämtliche Formeln anpassen.

Bin gespannt!!

Grüße von
Yan face-wink
8030021182
8030021182 09.11.2023 aktualisiert um 15:28:49 Uhr
Goto Top
Zitat von @Yan2021:
Daher würde ich gerne das aktuelle Jahr quasi als Platzhalter in die Formel einfügen... z.B. so:

Hatten wir gerade erst hier, Indirekt() ist dein Freund.
Excel - Platzhalter in Formel möglich?

Gruß Katrin
Yan2021
Yan2021 10.11.2023 aktualisiert um 07:55:18 Uhr
Goto Top
Hallo @8030021182

Habe mir den anderen Thread mal durchgelesen.
Aber ich habe es nicht hinbekommen, meine Formel so zu gestalten, wie ich es in meinem vorherigen Post beschrieben hatte.

Hier nochmal der Code:

'G:\Personal\.URLAUBS-Anträge\Name\[UA_Name_&JAHR&.xlsm]Eingaben'!$A$14  

Das von mir eingesetzte &JAHR& ist nur beispielhaft. Ich brauche da halt den Platzhalter für das Jahr.
Kannst Du mir da nochmal weiterhelfen?

Wichtig ist halt, dass die Bezüge zu den Urlaubsanträgen (also den anderen Excel-Dateien, wo die MA ihre Urlaube eintragen) auch weiterhin funktionieren. Das war im anderen Thread wohl das Problem face-wink

Grüße von
Yan face-wink
8030021182
8030021182 10.11.2023 aktualisiert um 08:33:38 Uhr
Goto Top
=INDIREKT("'G:\Personal\.URLAUBS-Anträge\Name\[UA_Name_" & JAHR() & ".xlsm]Eingaben'!$A$14")  

Wichtig ist halt, dass die Bezüge zu den Urlaubsanträgen (also den anderen Excel-Dateien, wo die MA ihre Urlaube eintragen) auch weiterhin funktionieren
Geht nur wenn die andere Mappe im Hintergrund geöffnet ist, wenn mit Indirekt Bezüge zu externen Mappen hergestellt werden, ansonsten über evaluate() als Workaround guckst du hier .
Referencing value in a closed Excel workbook using INDIRECT?

An deiner Stelle würde ich mal über eine vernünftige Datenbank nachdenken.
Aber bitte kein Access als Datengrab, als Frontend OK kann man machen, aber als Datengrab ist das 🤮, lieber eine SQL-DB dahinter platzieren und Access nur als GUI nutzen.