Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Tobi4711 am April 01, 2011, 19:34:12

Titel: Textfelder mit Schleife automatisch befüllen per VBA
Beitrag von: Tobi4711 am April 01, 2011, 19:34:12
Hallo allerseits,
erstmal ein großes LOB an alle die in diesem Forum aktiv sind. Ich konnte mir schon das ein oder andere mal über die Suchfunktion einen Lösungsansatz für mein Problem erarbeiten.
Nur leider komme ich momentan einfach nicht mehr weiter.
Ich erstelle momentan einen Personalplaner für die Arbeit wo zugeschnitten auf uns alle wichtigen funktionen drin sind.
Das hat bis jetzt ganz gut geklappt. Alle sind mit den Funktionen soweit zufrieden. Nur würde ich ganz gerne einige abläufe noch gerne vereinfachen bzw. komfortabler machen.
Nun das Problem:
Ich habe für jeden Monat ein Endlosformular wo für jeden Datensatz (Mitarbeiter) 30 bzw 31 Textfelder sind. Nun würde ich gerne das man für einen Zeitraum für Mitarbeiter X z.B. Urlaub eintragen kann.
Also vom 5.(Tag5) bis zu 19.(Tag19) zum Beispiel ein "U" für Urlaub.
Den entprechenden Datensatz auszuwählen ist jetzt nicht die große herausforderung. Nur wie mache ich Access klar das wenn ich in ein Texfeld ne "5" reinschreibe und in ein anderes ne "19" und in einem dritten "Urlaub" auswähle das dann in den Tagen5 bis 19 ein "U" erscheint. Habe da an ne schleife gedacht. Nur soweit bin ich bis jetzt noch nicht gekommen, da ich es schon nicht hinbekommen habe in das Texfeld "Tag5" einfach ein "U" reinzuschreiben. Vielleicht denke ich zu kompliziert?
Es wäre sehr nett wenn mir jemand einen kleinen Gedanken Anstoß geben könnte wmot ich es probieren könnte.
Wünsche allen ein schönes Wochenende.
Gruß Tobias
Titel: Re: Textfelder mit Schleife automatisch befüllen per VBA
Beitrag von: MzKlMu am April 01, 2011, 19:48:11
Hallo,
ich will Dir nicht den Mut nehmen, aber das hast Du bereits falsch angefangen.
Üblicherweise erfasst man solche Zeiträume einfach mit 2 Datumsfeldern. Daraus lassen sich mit einer Kalendertabelle die Anzahl der Arbeitstage=Urlaubstage ermitteln. Krankheitstage zählen ja auch anders als Urlaubstage.

Wie unterscheidest Du bei Deiner Version Feiertage, Samstage, Sonntage, Brückentage etc. ?
Man erfasst auch nicht immer alle Tage, sondern nur die Tage die keine normale Arbeitstage sind.
Titel: Re: Textfelder mit Schleife automatisch befüllen per VBA
Beitrag von: Tobi4711 am April 01, 2011, 20:15:30
Hallo,
bei uns geht es nicht darum die Urlaubstage mit zu plotten sondern nur darum das der Zeitraum eingetragen ist, da fallen die Wochenenden/Feiertage dann mit rein. Es geht eingentlich nur darum das man nicht wenn jemand mal nen ganzen Monat abwesend ist jeden Tag von hand ein U oder sonstiges reinschreiben zu braucht.
Feiertage und Wochenenden sind einfach nur farblich hinterlegt. Haben aber bei unserer Schichtplannung usw. keine bewandniss.
Viele Grüße
Tobias
Titel: Re: Textfelder mit Schleife automatisch befüllen per VBA
Beitrag von: DF6GL am April 02, 2011, 09:32:33
Hallo,

ZitatNur wie mache ich Access klar das wenn ich in ein Texfeld ne "5" reinschreibe und in ein anderes ne "19" und in einem dritten "Urlaub" auswähle das dann in den Tagen5 bis 19 ein "U" erscheint.

etwa so:

Im Formularkopf 2 Textfelder ("txtVon", "txtBis"),   im Detailbereich ein Kombifeld ("cmbAWGrund"), mit dem der Abwesenheitsgrund ausgewählt werden kann.



cmbAWGrund:
Herkunfsttyp: Wertliste
Datensatzherkunft: U;Urlaub;K;Krank

Sodann diese Prozedur:

Sub cmbAWgrund_Afterupdate()
Dim i as Long
For i =nz(Me!txtVon,0)  to nz(Me!txtBis,0)
Me("Tag" & i) = Me!cmbAWGrund
Next
End Sub
Titel: Re: Textfelder mit Schleife automatisch befüllen per VBA
Beitrag von: Tobi4711 am April 05, 2011, 14:41:25
Das ist genau das was ich nicht hinbekommen habe. Vielen Dank klappt wunderbar.
Gruss Tobias