Hallo Reinhard,
da ich mich mit dem Problem vor kurzem auch herum geschlagen habe will ich
Dir die langen Nächte etwas verkürzen :-) Ich nehem an, daß Du Access 97
oder drunter nutzt (weil in Access 2000 geht es problemlos) und daß Du ein
Endlosformular verwenden möchtest.
Hier meine Lösung
1. Funktion erstellen, welche den letzten Tag des Monats ermittelt
2. Tabelle erstellen für die Tage (steht nichts weiter drin als 1 bis 31)
3. Tabell eerstellen für die Monate (Monatsnummer und Name)
4. Mitarbeitertabelle hast Du ja schon
5. Anwesenheitstabelle (Datunm und Anwesenheitstyp)
6. Anwesenheitstyptabelle erstellen (Typ_ID, Typ_Name, Typ_Bitmap,
Typ_Backcolor) Den "Typ_Bitmap" füllst Du dann mit einem OLE-Objekt z.B.
einem Bitmap Beispiel Typ Urlaub -> blaues Kästchen .....
7. Kreutztabelle - Monat als Kriterium - Mitarbeiter als y - Tag als x -
Anwesenheitstyp(das Bitmap!) als Wert
8. Endlosformular mit Name ... und 31 Feldern erstellen auf der Basis der
Kreutztabelle
9. Damit es schön aussieht : Immer die Tage unsichtbar machen, die der Monat
nicht hat. Dazu nimmst Du die Funktion aus 1. und eine Schleife von 29-31.
Das geht natürlich nur, wenn Du die Felder logisch benennst (bei mir DAY_1
... DAY_31)
Falls Du das nicht so ganz mitbekommen hast muß ich Dir vieleicht doch den
ein oder anderen Codeschnipsel schicken :-)
Der Grund für den etwas komplizierten Weg : Access 97 hat leider keine
Unterstützung für bedingte Formatierung in Endlosfprmularen - daher ist es
nicht möglich ein Feld im ersten Datensatz rot zu färben und im zweiten eben
gelb.
Viel Spaß
Gruß Mike
"Zeilinger Reinhard" <ze...@utanet.at> schrieb im Newsbeitrag
news:99296832...@hagakure.utanet.at...