Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Kalenderformular mit Access-Bordmitteln {Nachgefragt}
Gehe zu Seite 1, 2  Weiter
zurück: Filter Formular weiter: FnsGetFields 1 Parameter zu wenig übergeben Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Diskussion Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
derArb
getting better


Verfasst am:
08. Feb 2011, 00:20
Rufname: derArb
Wohnort: Berlin

Kalenderformular mit Access-Bordmitteln {Nachgefragt} - Kalenderformular mit Access-Bordmitteln {Nachgefragt}

Nach oben
       Version: Office 2k (2000)

Nachfragen zum Thema Kalenderformular mit Access-Bordmitteln (Willi Wipp)

Hallo,
@Bitsqueezer: Ich hab mal eine Frage zu der Kalenderformatierung.
Gäbe es eine einfache Möglichkeit, die Zahlen von bestimmten Tagen in
einer anderen Farbe (z.B. rot) anzuzeigen.
Ich denke da an Sonntage und auch die üblichen verdächtigen Feiertage.
Ausserdem kann man im normalen Kalenderobjekt von Access den Kalendertag auslesen und das Datum "vergrössert" anzeigen. Siehe mein Bild.
Dabei ist in diesem Kalender der angeklickte Tag auch noch anders farbig.
Ist nur mal so eine Frage.
Toll ist auf jeden Fall die Markierung von besetzten Terminen.

EDIT: Die Auswertung des Datums hab ich gerade gefunden
Code:
    MsgBox objCalDay.CalDay_Date

MfG
derArb



normaler Kalender in Access.jpg
 Beschreibung:
 Dateigröße:  18.82 KB
 Angeschaut:  3970 mal

normaler Kalender in Access.jpg


Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
08. Feb 2011, 03:56
Rufname:


AW: Kalenderformular mit Access-Bordmitteln - AW: Kalenderformular mit Access-Bordmitteln

Nach oben
       Version: Office 2k (2000)

Hallo derArb,

ich habe das Kalendermodul mal ein wenig angepaßt.

Die Samstage und Sonntage auf rot zu ändern, ist kein großes Problem, dazu muß man nur in der Sub "RefreshCalendar" im Formular vom Objekt objCalDay den Parameter DayColumn abfragen, das ist der Wochentag als Zahl. Wenn er >=6 ist, dann ist es ein Wochenende, sonst ein Arbeitstag. Wenn Du nur die Sonntage in rot haben willst, mußt Du die beiden Zeilen mit ">=6" einfach in "=7" ändern.

Feiertage kann das Modul selbst nicht abdecken, weil sie nicht nur in Deutschland regional unterschiedlich sind, sondern natürlich auch international. Je nach Verwendungsort muß da also eine Individuallösung her. Das ist aber insofern kein Problem, weil ein Feiertag auch nichts anderes als eine "Reservierung" ist, also eine Markierung im Kalender für besondere Tage. Da man beliebig oft innerhalb der Sub "GetCalendarAttributes" im Standardmodul "modReservierung" ein und denselben Tag neu mit Attributen versehen kann, wird die zuletzt getroffene Einstellung angezeigt. Im Beispiel habe ich mal den 24.12.2011 als einzelnen Feiertag "hart verdrahtet" im Code implementiert. Hierbei werden die Feiertage als letztes zugewiesen, sinnvoller wäre in der Praxis natürlich, die Feiertagszuweisung als erstes durchzuführen, so daß sie von einer Terminbelegung überschrieben werden kann.
Die Feiertage kann man also ebenso wie sonstige Termine, die von Bedeutung sein könnten, in jeweils eigene Tabellen eintragen und so ebenfalls anzeigen lassen. Dabei kann man dann selbst bestimmen, welche Feiertage wichtig sind.

Neu hinzugefügt habe ich das Attribut ForeColor, mit dem für jeden Kalendertag nun auch die Schriftfarbe eingestellt werden kann.

Ebenso neu ist, daß die CustomID, die für jeden Tag gespeichert werden kann, mit "-1" übergeben werden kann, dann behält die CustomID ihren zuletzt gespeicherten Wert. Ansonsten würde die Reservierung zwischen 23.12.2011 und 25.12.2011 in der Demo für den 24.12.2011 keine Reservierungsinfo beim Klicken anzeigen.

Die Anzeige der kompletten Tagesinformationen beschränkt sich natürlich nicht nur auf das Datum, im Objekt objCalDay, das man von der Eventklasse "clsCalendarTextBoxEvents" übergeben bekommt, sind noch eine Reihe weiterer Attribute abrufbar. Als Demo habe ich hier den Klickevent so erweitert, das er für die gebuchten Tage auch noch Tagesname, Datum und Kalenderwoche anzeigt.

Der Klickevent funktioniert immer, bei jeder der Tage, nur ist in der Demo in der Sub "ExecuteCalendar_Click" im Modul "modReservierung" eine Abfrage, die nur etwas anzeigt, wenn die hinterlegte CustomID ungleich 0 ist. Das ist aber nur für die Reservierungsanzeige gedacht, Du kannst natürlich einfach eine Standardmessagebox anzeigen, bevor die Abfrage startet oder im Else-Zweig (um doppelte Messageboxen zu vermeiden), die dann für jeden Tag ein Datum anzeigt. Die Daten kannst Du natürlich auch beliebig weiterleiten an andere Formulare.

Gruß

Christian



ReservierungV1_1.zip
 Beschreibung:
Neue Version mit kleinen Anpassungen im Format Access2000-2007

Download
 Dateiname:  ReservierungV1_1.zip
 Dateigröße:  275.86 KB
 Heruntergeladen:  284 mal

derArb
getting better


Verfasst am:
08. Feb 2011, 17:37
Rufname: derArb
Wohnort: Berlin

AW: Kalenderformular mit Access-Bordmitteln - AW: Kalenderformular mit Access-Bordmitteln

Nach oben
       Version: Office 2k (2000)

derArb am 08. Feb 2011 um 16:33 hat folgendes geschrieben:
Hallo,
vielen Dank Bitsqueezer. Passt alles bestens. Das mit den Feiertagen probier ich demnächst natürlich auch.
Ich rufe zusätzlich noch die
Code:
Sub RefreshKalender des Formulars 'frmKalender'
' in
ExecuteCalendar_Click
auf.
Dadurch erreiche ich, dass das angeklickte Kalenderfeld schwarz markiert wird und
optisch leichter zu sehen ist.
Ich hab nun versucht, mit

Code:
    objCalDay.CalBackColor = RGB(239, 12, 14)
das angeklickte Feld einzufärben. Das klappt auch. Es löscht sich aber natürlich nicht,
wenn ein weiteres angeklickt wird.

Code:
Public Sub ExecuteCalendar_Click(objCalDay As clsCalendarDay)
    Dim strCalendarInfo As String
   
    objCalDay.CalBackColor = RGB(239, 12, 14)
    'Forms!frmKalender.RefreshCalendar
    If objCalDay.CalCustomID <> 0 Then '...
    '...
End Sub
Wo kann ich das angeklickte bei neuem Klick wieder löschen?
MfG
derArb

Zitat:
Bei nochmaligem Klick
: Damit meine ich das Löschen des angeklickten
Kalenderfelds, wenn ein anderes geklickt wird.

MfG
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
08. Feb 2011, 22:25
Rufname:

AW: Kalenderformular mit Access-Bordmitteln - AW: Kalenderformular mit Access-Bordmitteln

Nach oben
       Version: Office 2k (2000)

Hallo derArb,

prinzipiell warst Du schon auf dem richtigen Weg, Du müßtest bei Deiner Variante nur das zuletzt angeklickte CalDay-Objekt in einer Static-Variablen speichern, dann kannst Du beim nächsten Klick dessen Farbe wieder zurücksetzen (mit einer zweiten Static-Variable, die die alte Hintergrundfarbe speichert).

Das funktioniert allerdings auch nur für die aktuelle Seite, blättert man weiter oder zurück, ist der angeklickte Wert nicht mehr zu sehen.

Daher habe ich nun eine weitere Erweiterung hinzugefügt, bei der auch das angeklickte Datum angezeigt wird und dessen Wert im Formularobjekt hinterlegt wird, so daß man nun mit einem neuen Button "Gewählt" auch auf das zuletzt angeklickte Datum zurückspringen kann (in der Art wie beim "Heute"-Button).

Um die Farbeinstellungen zu vereinfachen, habe ich die Farben in Konstanten gepackt, stehen zu Beginn des Kalenderformulars im Code, da kann man sich dann seine eigenen hineinpacken und muß nicht quer durch den Code.

Der Klickevent übermittelt nun außerdem auch eine Referenz auf das Kalenderformular in "frmCal", so daß man auf alle Objekte des Kalenderformulars direkt in "ExecuteCalendar_Click" in "modReservierung" zugreifen kann. Das beinhaltet u.a. auch das "ObjCalendar", das bei RefreshCalendar erstellt wird. Damit kann man das Kalenderformular nun auch um eigene Textboxen erweitern, wenn man z.B. die Kalenderinfo in eine (oder mehrere) gesperrte Textbox(en) in das Kalenderformular schreiben möchte, statt der logischerweise auf die Dauer nervenden Messageboxen.

Damit dürfte der Kalender ja nun alle Deine Wünsche abdecken...Smile

Gruß

Christian



ReservierungV1_2.zip
 Beschreibung:
Neue Version V1.2 in den bekannten drei Dateiformaten.

Download
 Dateiname:  ReservierungV1_2.zip
 Dateigröße:  309.69 KB
 Heruntergeladen:  134 mal

derArb
getting better


Verfasst am:
09. Feb 2011, 22:03
Rufname: derArb
Wohnort: Berlin


AW: Kalenderformular mit Access-Bordmitteln - AW: Kalenderformular mit Access-Bordmitteln

Nach oben
       Version: Office 2k (2000)

derArb am 08. Feb 2011 um 21:44 hat folgendes geschrieben:
Hallo Bitsqueezer,
das ist wirklich sehr freundlich von Dir.
Vielen Dank.
Ich bin nicht soo schnell und versuche in aller Ruhe Deinen Code zu verstehen.
Sicher hab ich noch nicht alle Möglichkeiten gecheckt. (Hab auch die neue Version noch nicht angeschaut..mach ich aber gleich)
Daher frage ich vorsichtshalber noch eine andere Sache.
Kann man auch von aussen den Kalender auf ein Datum setzen so wie das
Kalenderobjekt von Access?
Das kann ich setzen, indem ich z.B. ein Datum in einem Formular auswähle und
dann per Me.Kalender= Me.MeinDatumsfeld aktualisiere.

MfG
derArb

derArb am 09. Feb 2011 um 01:29 hat folgendes geschrieben:
Hallo Bitsqueezer,

ich habs gefunden. Damit kann ich den Kalender auch von aussen umschalten.
Du hattest also alles vorgesehen. Ich musste es nur finden
Code:
Private Sub btnFollow_Click()
    Me.CalSelectedDate = Me.txtDatum
    If Not IsNull(Me.CalSelectedDate) Then
        Me.cmbJahr = Year(Me.CalSelectedDate)
        Me.cmbMonat = Month(Me.CalSelectedDate)
        RefreshCalendar
    End If
End Sub
Nochmals vielen Dank
derArb


Hallo Bitsqueezer,
irgendwie klappt es noch nicht ganz richtig.
Es geht um das Formular ‚frmKalender‘.
Bei Start des Formulars bekomme ich nicht das richtige Datum in das Bezeichnungsfeld 'bezDatumsanzeige' .
Sobald ich den Kalender von extern angesteuert habe, löscht sich nicht mehr das vorher markierte Kalenderfeld.
Ich verstehe auch noch nicht, wie ich zu jederzeit aus jedem Modul heraus die Werte von CalDay_Name, CalDay_Date und CalDay_Week so bekomme, wie es im Modul modReservierung ja geht.
Ebenso ist mir die Einsetzbarkeit von Procedure : CalTextBox_Click in clsCalendarTextBoxEvents nicht klar.
Ich hab mal meine TestDB angehängt.
Wenn Du mal Lust und Zeit hast, bitte ich Dich, sie mal anzuschauen.
Meine Codes sind alle markiert und mit Strg-H: 'arb leicht auffindbar
Danke bis hierher und auch im Voraus
MfG
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.



KalenderMitUfos_v1_2.zip
 Beschreibung:
mdb

Download
 Dateiname:  KalenderMitUfos_v1_2.zip
 Dateigröße:  165.86 KB
 Heruntergeladen:  120 mal

Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
10. Feb 2011, 02:32
Rufname:

AW: Kalenderformular mit Access-Bordmitteln - AW: Kalenderformular mit Access-Bordmitteln

Nach oben
       Version: Office 2k (2000)

Hallo derArb,

anbei habe ich Deine Datenbank angehängt, in der die Version auch integriert ist.

Nähere Infos zu V1.3 siehe hier: Kalenderformular mit Access-Bordmitteln

Zu Deiner Datenbank:
Die globale Variable aktDate ist überflüssig, da der Wert schon in CalSelectedDate steht.
Der Zugriff auf das Kalenderformular innerhalb von "GetCalendarAttributes" kann immer direkt mit "frm" erfolgen, hier braucht man keine umständliche Direktadressierung über Forms. Das gleiche gilt für "ExecuteCalendar_Click", hier heißt es nur "frmCal".

Das Klassenmodul "clsCalendarTextBoxEvents" enthält zwar auch einen Click-Event, dieser braucht (sollte) aber nie verändert werden. Diese Klasse wird für jedes Textbox-Element instanziert, es gibt also nachher 42 Objekte dieser Klasse im Speicher. Der Click-Event hier wird also durch Access ausgelöst und leitet dann den Click-Event an die Funktion "ExecuteCalendar_Click" weiter und versieht sie gleich noch mit ein paar zusätzlichen Infos, was bei einem herkömmlichen Click-Event ja nicht geht.

Für alles, was man also selbst mit dem Kalender machen möchte, ist also am besten "GetCalendarAttributes" und "ExecuteCalendar_Click" zu verwenden.

Wenn Du weitere Events für jede der Kalender-Textboxen brauchst, dann ist "clsCalendarTextBoxEvents" die richtige Stelle, um nach dem gleichen Prinzip weitere Events einzubauen. Beispielsweise könntest Du so einen Doppelklick-Event hinzufügen usw.

Für "WV-Datum" habe ich den Default-Wert mal auf "=getFollowdate()" gesetzt, damit werden neu eingetragene Zeilen automatisch mit dem angeklickten Datum verwendet. Man könnte in den "AfterUpdate" Event des UFOs auch noch ein RefreshCalendar hinzufügen, damit die neue Zeile direkt im Kalender angezeigt wird, sobald sie gespeichert wurde.

Die Konstanten aus "modReservierung" sind wie alles in diesem Modul nur Beispiele, nichts davon muß so übernommen werden (das Modul muß auch nicht so heißen). Ich verwende die Konstanten nur immer lieber als direkte Bezeichnungen für Felder und Tabellen im Code zu verwenden, das macht die Sache leichter wartbar, man braucht dann nur an einer Stelle ändern.

Die falsche Anzeige von "bezDatumsanzeige" lag daran, daß Du das "objCalDay" verwendet hast, das ist nur ein durchlaufendes Objekt in der RefreshCalendar-Schleife und beinhaltet entsprechend zuletzt das letzte Datum des Kalenders.

Die überflüssigen Requeries habe ich auch entfernt.

Ich hoffe, das hilft Dir erstmal weiter.

Gruß

Christian



KalenderMitUfos_v1_3.zip
 Beschreibung:
derArb Kalenderformular mit UFOs in der Version 1.3

Download
 Dateiname:  KalenderMitUfos_v1_3.zip
 Dateigröße:  138.23 KB
 Heruntergeladen:  118 mal

derArb
getting better


Verfasst am:
10. Feb 2011, 16:11
Rufname: derArb
Wohnort: Berlin

AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt} - AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt}

Nach oben
       Version: Office 2k (2000)

sappralott Bitsqueezer.

Das ist ja riesig toll von Dir. Danke und danke auch für die Erklärungen.
MfG
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
10. Feb 2011, 16:27
Rufname:

AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt} - AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt}

Nach oben
       Version: Office 2k (2000)

Hallo derArb,

aber immer wieder gern...Smile

Gruß

Christian
derArb
getting better


Verfasst am:
22. Feb 2011, 14:41
Rufname: derArb
Wohnort: Berlin

AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt} - AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt}

Nach oben
       Version: Office 2k (2000)

Hallo Bitsqueezer,
ich hab nun eine Feiertagsberechnung und-anzeige eingebaut.
Ebenso eine Umschaltung zwischen
selektive Terminanzeige je Angebot
und
Gesamtanzeige aller Termine aller Angebote.
Bei Gesamtanzeige klappt das mit der Feiertagsanzeige.
Bei der selektiven Anzeige klappt es nur, wenn ich ein Datum klicke, in welchem
ein Angebot eingetragen ist. Ansonsten verschwindet die Feiertagsanzeige.
Ich habe verschiedene Versuche veranstaltet und komme leider nicht auf den Dreh.
Wenn Du mal Luft, Lust und Zeit hast, kannst Du mir da nochmal helfen bitte?
Ich habe die Stellen wieder mit 'arb auskommentiert, an welchen ich Codeänderungen vorgenommen habe.
MfG
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.



KalenderMitUfos_v1_[4] [1].zip
 Beschreibung:
mdb

Download
 Dateiname:  KalenderMitUfos_v1_[4] [1].zip
 Dateigröße:  178.75 KB
 Heruntergeladen:  71 mal

Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
22. Feb 2011, 18:10
Rufname:

AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt} - AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt}

Nach oben
       Version: Office 2k (2000)

Hallo derArb,

das Problem ist, daß Du die Feiertagsanzeige mit in die Reservierungsschleife eingebaut hast.

Die Reservierungsschleife funktioniert so: In der Query werden die Reservierungen je Person ausgegeben, mit einem Von- und einem Bis-Datum. Da Du immer nur einzelne Tage in Deiner Tabelle hast, sind diese bei Dir natürlich immer gleich. Im Original reserviert ein Gast einen Raum über einen Zeitraum von x Tagen.

Die Reservierungsschleife holt sich also für alle Gäste die Von/Bis-Werte und fügt dann dem Kalender für alle Tage zwischen diesen beiden Datumswerten je einen Attributwert hinzu. Damit muß in der Query nur das Anfangs- und das Enddatum übergeben werden und der Kalender fügt selbst alle Datumswerte dazwischen hinzu.

Die Schleife beinhaltet entsprechend natürlich nur die Tage dazwischen, wenn Du Dein Feiertagsarray dann dazwischenschreibst, dann werden auch nur in dem Fall, wenn ein Feiertag in einen Reservierungszeitraum fällt, der Feiertag ausgegeben. Da wiederum die Reservierungsmarkierung nach der Feiertagsmarkierung kommt, überschreiben diese wieder die Feiertagsmarkierung...

Abhilfe: Die Feiertage haben normalerweise eine niedrigere Priorität als die Reservierung. Also muß zuerst eine Schleife geschrieben werden, die ALLE Kalendertage des aktuellen Monats durchgeht und dann anhand des Feiertagsarrays die Feiertage markiert. Das macht die folgende Schleife, von Deiner modifiziert:
Code:
    'Feiertagsberechnung:
    For datCurrentDate = frm.objCalendar.CalFirstDay.CalDay_Date To frm.objCalendar.CalLastDay.CalDay_Date
        arrfeiertage = fncFeiertage(Year(datCurrentDate))
        'Berechnung und Darstellung der Feiertage (pro Jahr automatisch neu berechnet)
        'If datCurrentDate = CDate("24.12.2011") Then
        For i = 0 To UBound(arrfeiertage) Step 2
            If datCurrentDate = arrfeiertage(i) Then
                Set objCalAttribute = New clsCalendarAttribute
                With objCalAttribute
                    .CAtt_ForeColor = RGB(255, 255, 255)
                    .CAtt_Color = RGB(255, 0, 0)
                    .CAtt_AdditionalText = ""
                    .CAtt_Date = datCurrentDate
                    .CAtt_CustomID = -1     ' -1 bedeutet: CustomID aus früherer Attributeinstellung nicht überschreiben (hier: keine CustomID verwenden oder Zeile einfach weglassen)
                End With
                colCalAttributes.Add objCalAttribute
            End If
        Next i
    Next datCurrentDate
Dann habe ich noch einige Korrekturen eingefügt, um den Code wieder an die Namenskonventionen anzupassen: Alles, was mit "c" anfängt, sind hier Konstanten, und das sollte man im Code auch so belassen, sonst wird es schnell unübersichtlich. Außerdem sollte der Formularcode keine Änderungen an Variablen durchführen, die in modReservierung verwendet werden, das führt ebenfalls schnell zu unübersichtlichem Code.

Entsprechend habe ich die Optionsgruppe so geändert, daß hier einfach nur ein RefreshCalendar ausgeführt wird. Auch in Form_Load ist so nur notwendig, den Initialwert der Optionsgruppe zu setzen, da dort auch bereits RefreshCalendar ausgeführt wird.

Nächster Punkt sind Deine Unterformulare: Access hat echte Schwierigkeiten, auf die Unterformulare zuzugreifen, da die UFO-Container genauso heißen wie die darin enthaltenen Formulare - sollte man besonders bei UFOs grundsätzlich vermeiden! Ich denke mal, daher kam Dein "Eval"-Code in der Query zustande. Mir ist es nicht gelungen (auch nicht nach Umbenennung der UFO-Container, Exportieren des Formulars als Text und Reimport und Import aller Datenbankobjekte in eine neue Datenbank), die Query so zu ändern, daß sie direkt auf das Formularobjekt cboAngebot bzw. auf das Feld Angebot_id_f zugreifen kann. Habe nicht herausfinden können, woran das liegt, aber stattdessen eine sauberere Alternative implementiert: Die Parameterabfrage. Dabei wird als erste Zeile eine "PARAMETERS"-Zeile in die Query eingefügt mit dem zu übergebenen Parameternamen. Diese kann man dann im Code als QueryDef aufrufen, den Parameter aus dem Formular ordentlich übergeben und das Recordset öffnen, je nach Auswahl des Optionsfeldes. Das erledigt der folgende Code:
Code:
    Select Case frm.KalRahmen
      Case 1
        lngColorDate = cCOLOR_Termin_JeAngebot
        Set qd = CurrentDb.QueryDefs(cTBL_RSV_JeAngebot)
        qd.Parameters(cPARM_RSV_AngebotID) = frm.sfUFO_Termin.Form.cboAngebot
        Set rs = qd.OpenRecordset
      Case 2
        Set rs = CurrentDb.OpenRecordset("SELECT " & cFLD_RSV_ALL _
                                        & " FROM " & cTBL_RSV_Alle)
        lngColorDate = cCOLOR_Termin_Alle
    End Select
Je nach Auswahl wird das Recordset-Objekt mit der einen oder der anderen Query erstellt, einmal mit und einmal ohne Parameter. Außerdem wird die Markierungsfarbe in eine Variable geschrieben und die Farbe selbst wieder aus Konstanten bezogen, ebenso die Namen der Queries und des Parameters (das macht es einfacher, die Geschichte zu konfigurieren, wenn sich z.B. die Namen ändern - einfach nur die Konstanten am Anfang des Codes ändern).

Darüber hinaus kannst Du auch den Code für die Reservierungsschleife vereinfachen, sowie das Ergebnis der Queries: Da Du immer nur einen Tag aus der Tabelle liest, kannst Du Dir die "Bis"-Werte sparen und ebenso die For-Schleife, die die Tage zwischen "Von" und "Bis" markiert, stattdessen einfach eine Schleife, die für jeden Datensatz des Recordsets einen Attributwert, nämlich den des einen enthaltenen Tages, setzt. Das macht die Sache performanter und einfacher zu lesen.

Die Schleife reduziert sich dadurch nun auf diesen Code:
Code:
    If Not rs Is Nothing Then
        If Not (rs.EOF And rs.BOF) Then
            Do While Not rs.EOF
                bolSetDate = False
                If rs.Fields(cFLD_RSV_Von) >= frm.objCalendar.CalFirstDay.CalDay_Date And _
                   rs.Fields(cFLD_RSV_Von) <= frm.objCalendar.CalLastDay.CalDay_Date Then
                    Set objCalAttribute = New clsCalendarAttribute
                    With objCalAttribute
                        .CAtt_Color = lngColorDate
                        .CAtt_AdditionalText = "*"
                        .CAtt_Date = rs.Fields(cFLD_RSV_Von)
                        .CAtt_CustomID = rs.Fields(cFLD_RSV_GastID)
                    End With
                    colCalAttributes.Add objCalAttribute
                End If
                rs.MoveNext
            Loop
        End If
    End If
Zuletzt habe ich Deine Funktion für die Feiertage noch angepaßt, in der alten Version war das Ergebnis eine Mixtur aus String- und Datumswerten. VBA ist da ja sehr großzügig in der impliziten Typumwandlung bei Vergleichen, so daß das nicht ins Gewicht fällt, aber man sollte auch bei Variant-Arrays darauf achten, daß das Ergebnis ein homogenes Array aus gleichen Typen ist (in Deinem Fall je ein Datum und ein String).

Eine sauberere Lösung ist, das ganze in zwei Klassenmodule zu codieren, dadurch hat man eine Collection mit Feiertagen, die jeweils Attribute haben, einmal das Datum und einmal der Name. Das Praktische an einem Objekt ist, daß man es jederzeit erweitern kann. Wenn Du etwa die Feiertagsklasse erweitern möchtest, so daß jeder Feiertag ein Attribut erhält, ob es ein fester oder ein berechneter Feiertag ist, fügst Du einfach eine weitere Variable in clsFeiertag hinzu und ergänzt die Feiertagsberechnung in clsFeiertage. Weiterhin könnte man hinzufügen, für welches Bundesland ein Feiertag gilt usw.
Mit Arrays ist sowas schwer zu realisieren, mit Collections und Objekten ein Kinderspiel.

Ich habe mal Deine Funktion entsprechend in Objekte umgewandelt und die Feiertagsberechnung angepaßt.

Gruß

Christian



Kalendermitufos_v1_4_1.zip
 Beschreibung:
Neue Version

Download
 Dateiname:  Kalendermitufos_v1_4_1.zip
 Dateigröße:  138.42 KB
 Heruntergeladen:  63 mal

derArb
getting better


Verfasst am:
22. Feb 2011, 23:19
Rufname: derArb
Wohnort: Berlin

AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt} - AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt}

Nach oben
       Version: Office 2k (2000)

derArb am 22. Feb 2011 um 18:16 hat folgendes geschrieben:
Hallo,
danke Bitsqueezer.
Zitat:
das Problem ist, daß Du die Feiertagsanzeige mit in die Reservierungsschleife eingebaut hast.
Na ja..da hatte ich erstmal angesetzt, da dort Dein Hinweis war.
Ich hab das mit der Schleife schon bemerkt und dann in

Code:
Public Sub RefreshCalendar()
versucht, wo auch der aktuelle Tag umrandet und die Wochenendtage farbig geändert werden und unabhängig von der Reservierung bleiben..
Zitat:
...Access hat echte Schwierigkeiten, auf die Unterformulare zuzugreifen, da die UFO-Container genauso heißen wie die darin enthaltenen Formulare - sollte man besonders bei UFOs grundsätzlich vermeiden!
Ich hatte noch nie Schwierigkeiten damit und dachte mir, dass es mit dieser Programmierform zusammenhinge. Ich hab da auch sehr lange rumprobiert und gerätselt.
Ich werde mir die Zeit natürlich nehmen und das Neue in jedem Detail nachvollziehen.
Vielen Dank für Deine geduldige und sehr umfangreich erklärte Hilfe.
MfG
derArb

Ich versuche nun, die Rahmenfarbe der Feiertagsfelder zu beeinflussen.
Leider klappt es nicht. Ich habe Folgendes getan.

Ich habe in ‚clsCalendarAttribute‘ in Properties ergänzt
Code:
Public CAtt_BorderColor As Long         ' Umrandungsfarbe des markierten Kalenderfeldes
In ‚clsCalendarDay
Code:
'---------------------------------------------------------------------------------------
' Property    : CalBorderColor
' Access Meth.: Write
' Date        : 22.02.2011
' Purpose     : Schreibt die Borderfarbe in die BorderColor-Eigenschaft der Textbox-Control,
'               die in der Eigenschaft "CalDay_TextBox" festgelegt wurde.
' Parameters  : lngColor: Farbe im RGB()-Format
' Returns     :  -
'---------------------------------------------------------------------------------------
'
Public Property Let CalBorderColor(lngColor As Long)
    If Not Me.CalDay_TextBox Is Nothing Then
        If lngColor <> -1 Then Me.CalDay_TextBox.BorderColor = lngColor
    End If
End Property
In ‘Form_frmKalender
Code:
'---------------------------------------------------------------------------------------
' Procedure   : SetDateAttributes
' Date        : 15.12.2010
' Last Change : 08.02.2011
' Purpose     : Dies ist eine andere Methode, einen Kalendereintrag zu verändern,dabei
'               wird eine einzelne Kalenderzelle geändert.
' Parameters  : datValue: Das gewünschte Datum
'               lngColor: Die gewünschte Hintergrundfarbe
'               strAdditionalText: Text, der der Tagesnummer im Kalender angehängt wird
'               lngCustomID: Beliebige ID für externe Zwecke, die so mit der Zelle gespeichert
'                            werden kann.
'                            Wird -1 übergeben, dann wird ein eventuell bereits vorhandener ID-Wert nicht überschrieben
'               lngForeColor: Vordergrundfarbe, wenn -1, dann wird die Standardtextfarbe des Kalenders verwendet
'               lngBorderColor: Rahmenfarbe,wenn -1, dann wird die Standardtextfarbe des Kalenders verwendet
' Returns     :  -
'---------------------------------------------------------------------------------------
'
Public Sub SetDateAttributes(datValue As Date, lngColor As Long, _
                             Optional strAdditionalText As String = "", _
                             Optional lngCustomID As Long = 0, _
                             Optional lngForeColor As Long = -1, _
                             Optional lngBorderColor As Long = -1) '<<<<<< hinzugefügt
    Dim objCalDay As clsCalendarDay
    Set objCalDay = objCalendar.CalDay(datValue)
    If Not objCalDay Is Nothing Then
        With objCalDay
            .CalBackColor = lngColor
            If lngCustomID <> -1 Then .CalCustomID = lngCustomID
            .CalForeColor = lngForeColor        ' Wenn -1, wird die Standardvordergrundfarbe verwendet
            If strAdditionalText <> "" Then .CalDay_AdditionalText = strAdditionalText
        End With
    End If
End Sub

'---------------------------------------------------------------------------------------
' Procedure   : SetMultipleAttributes
' Date        : 15.12.2010
' Last Change : 08.02.2011
' Purpose     : Diese Methode verwendet eine Collection, die mit Objekten der Klasse
'               clsCalendarAttribute gefüllt sein muß, um die entsprechenden Datumswerte
'               mit den gewünschten Attributen (Farbe, Text, CustomID) zu versehen.
' Returns     :  -
'---------------------------------------------------------------------------------------
'
Public Sub SetMultipleAttributes(colDayAttributes As Collection)
    Dim objCalAttribute As clsCalendarAttribute
    For Each objCalAttribute In colDayAttributes
        With objCalAttribute
            SetDateAttributes .CAtt_Date, .CAtt_Color, .CAtt_AdditionalText, .CAtt_CustomID, .CAtt_ForeColor, .CAtt_BorderColor '<<<< hinzugefügt
        End With
    Next
End Sub
In ‘modReservierung
Code:
    '...
    'Feiertagsberechnung:
    Set objFeiertage = New clsFeiertage
    For datCurrentDate = frm.objCalendar.CalFirstDay.CalDay_Date To frm.objCalendar.CalLastDay.CalDay_Date
        objFeiertage.BerechneFeiertage Year(datCurrentDate)
        'Berechnung und Darstellung der Feiertage (pro Jahr automatisch neu berechnet)
        For Each objFeiertag In objFeiertage.Feiertage
            If datCurrentDate = objFeiertag.Feiertag Then
                Set objCalAttribute = New clsCalendarAttribute
                With objCalAttribute
                    .CAtt_ForeColor = RGB(255, 0, 0)
                    .CAtt_Color = RGB(255, 255, 255)
                    .CAtt_AdditionalText = ""
                    .CAtt_Date = datCurrentDate
                    .CAtt_BorderColor = RGB(255, 0, 0) '<<<< hinzugefügt
                End With
                colCalAttributes.Add objCalAttribute
            End If
        Next objFeiertag
    Next datCurrentDate
    '...
Alles geht..bis auf dass die Borderfarbe des Feiertags sich nicht verändert.
Was mache ich falsch?
MfG
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.



Kalendermitufos_v1_4_2.zip
 Beschreibung:
mdb

Download
 Dateiname:  Kalendermitufos_v1_4_2.zip
 Dateigröße:  297.62 KB
 Heruntergeladen:  37 mal

Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
23. Feb 2011, 13:34
Rufname:

AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt} - AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt}

Nach oben
       Version: Office 2k (2000)

Hallo derArb,

Du warst schon auf dem richtigen Weg, hast nur eine Zeile vergessen (in "SetDateAttributes" in "frmKalender"):
Code:
            .CalBorderColor = lngBorderColor
Du hast zwar einen neuen Parameter eingefügt, der wird aber nicht verwendet ohne diese Zeile. Danach klappt es auch mit den Rahmen...Wink

Gruß

Christian
derArb
getting better


Verfasst am:
24. Feb 2011, 00:14
Rufname: derArb
Wohnort: Berlin

AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt} - AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt}

Nach oben
       Version: Office 2k (2000)

derArb am 23. Feb 2011 um 22:59 hat folgendes geschrieben:
Hallo,
Klasse und vielen Dank.
Durch Umstellen der Schleifen hab ich jetzt auch noch die Hintergrundfarbe
der Belegungen in den Feiertagen.
Code:
    'Feiertagsberechnung:
    Set objFeiertage = New clsFeiertage
    For datCurrentDate = frm.objCalendar.CalFirstDay.CalDay_Date _
                                     To frm.objCalendar.CalLastDay.CalDay_Date
        objFeiertage.BerechneFeiertage Year(datCurrentDate)
        'Berechnung und Darstellung der Feiertage
        '(pro Jahr automatisch neu berechnet)
        For Each objFeiertag In objFeiertage.Feiertage
            If datCurrentDate = objFeiertag.Feiertag Then
                Set objCalAttribute = New clsCalendarAttribute
                With objCalAttribute
                    .CAtt_ForeColor = RGB(255, 0, 0)
                    .CAtt_Color = RGB(255, 255, 255)
                    .CAtt_AdditionalText = ""
                    .CAtt_Date = datCurrentDate
                    .CAtt_BorderColor = RGB(255, 0, 0)
                End With
                colCalAttributes.Add objCalAttribute
                If Not rs Is Nothing Then
                    If Not (rs.EOF And rs.BOF) Then
                        Do While Not rs.EOF
                            bolSetDate = False
                            If rs.Fields(cFLD_RSV_Von) _
                              >= frm.objCalendar.CalFirstDay.CalDay_Date And _
                               rs.Fields(cFLD_RSV_Von) _
                                <= frm.objCalendar.CalLastDay.CalDay_Date Then
                                Set objCalAttribute = New clsCalendarAttribute
                                With objCalAttribute
                                    .CAtt_Color = lngColorDate
                                    .CAtt_AdditionalText = "*"
                                    .CAtt_Date = rs.Fields(cFLD_RSV_Von)
                                    .CAtt_CustomID = rs.Fields(cFLD_RSV_GastID)
                                End With
                                colCalAttributes.Add objCalAttribute
                            End If
                            rs.MoveNext
                        Loop
                    End If
                End If
            End If
        Next objFeiertag
    Next datCurrentDate
MfG
derArb

Hallo,
oops..jetzt geht der Code nimmer.
Ich muss da nochmal suchen denke ich.

EDIT:
Also wie man sich täuschen kann. Ich hab gar nix verbessert mit der Rumschieberei in den Schleifen.
Was ich zusätzlich erreichen wollte:
Wenn eine Buchung in einem Feiertag ist, soll der Feiertagsrahmen auch rot bleiben.
Momentan geht er auf schwarz. Mist...ich finde das nicht.
Ausserdem müsste doch auch die Farbe auf light gehen, wenn der Feiertag in der Vorschau zum nächsten Monat ist .
Bitte nochmal mich schubsen.

MfG
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.



Kalendermitufos_v1_4_3 .zip
 Beschreibung:
mdb

Download
 Dateiname:  Kalendermitufos_v1_4_3 .zip
 Dateigröße:  291.33 KB
 Heruntergeladen:  148 mal

Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
24. Feb 2011, 01:31
Rufname:

AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt} - AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt}

Nach oben
       Version: Office 2k (2000)

Hallo derArb,

mir scheint, der Code ist Dir bislang noch nicht wirklich klargeworden.

Das Prinzip ist: In RefreshCalendar werden die allgemeinen Farbeinstellungen des Kalenders festgelegt. Am Ende ruft diese Funktion die Benutzerfunktion "GetCalendarAttributes" auf, die weitere Farbeinstellungen in einer Collection erzeugen muß. Am Ende der Benutzerfunktion steht die notwendige Zeile zum Aufruf von "SetMultipleAttributes", die nichts anderes macht, als diese Collection durchzugehen und alle Attribute aus der Collection den Elementen des dargestellten Kalenderblattes hinzufügt.

Das heißt, man kann jedem Tag auch mehrere Zuweisungen hinzufügen, aber der letzte "gewinnt". Da bisher die Feiertage zuerst zugewiesen werden und dann die Kalenderbelegungen, "gewinnt" die Belegung und überschreibt die Feiertage. Wenn Du die Feiertagsschleife unter die Recordsetschleife verlegst, "gewinnt" die Feiertagseinstellungen, weil die rote Markierung nach der Recordsetmarkierung in der Collection kommt.

Da "GetCalendarAttributes" die Benutzereinstellungen im Kalender vornehmen soll, gibt es hier auch keine Unterscheidung zwischen normaler und "Light"-Farbe, denn diese Unterscheidung gibt es nur in RefreshCalendar. Um das zu realisieren, müßtest Du in "SetDateAttributes" (die Einzelvariante von "SetMultipleAttributes") eine Unterscheidung treffen, wie es in "RefreshCalendar" geschieht. Das könnte man damit erreichen, daß man den Feiertagsobjekten ein zusätzliches Attribut für LightColor hinzufügt und es an entsprechender Stelle anwendet. Die Reservierungsmarkierung wird aber auch nicht Light dargestellt, konsequenterweise müßtest Du es dann hierfür auch realisieren. Beides finde ich aber eher überflüssig.
Alternativ könntest Du die Feiertagsberechnung auch in RefreshCalendar einbauen, entweder vor oder nach "GetCalendarAttributes", je nachdem, welche Priorität die Farbe haben soll. Dann ist es keine Benutzerfunktion mehr und stünde allgemein immer im Kalender zur Verfügung, und es ließe sich in die vorhandene Schleife zur Ermittlung der Light-Color mit einbauen. Da darfst Du aber gerne selbst mal knobeln...Smile

Gruß

Christian
derArb
getting better


Verfasst am:
24. Feb 2011, 18:43
Rufname: derArb
Wohnort: Berlin


AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt} - AW: Kalenderformular mit Access-Bordmitteln {Nachgefragt}

Nach oben
       Version: Office 2k (2000)

Hallo Bitsqueezer,
Zitat:
...mir scheint, der Code ist Dir bislang noch nicht wirklich klargeworden.
Sonst würde ich ja nicht fragen Confused
Die Prinzipien sind mir schon klar.
Ich hab nun heute mal 8 Stunden am Stück herumprobiert und habs nicht hinbekommen.
Das war mir mein freier Tag wert.
Am liebsten ist mir, dass die Feiertage Teil des Kalenderaufbaus sind (RefreshCalendar)
Das hab ich auch als letztes probiert.
Ich mach mal ne Pause...
Hier mein letzter Versuch. Leider gibts wieder keine rote Borderfarbe beim Feiertag.
Code:
Public Sub RefreshCalendar()
    '...
'derArb anfang
    Dim objFeiertage As clsFeiertage
    Dim objFeiertag As clsFeiertag
    Dim datCurrentDate As Date
    Dim objCalAttribute As clsCalendarAttribute
    Dim colCalAttributes As Collection
'derArb Ende
    '...
    ' Hier wird die externe Funktion zum Setzen der Kalenderattribute
    ' aufgerufen, wenn sie nicht existiert, wird die Fehlermeldung mit
    ' Resume Next unterdrückt.
    On Error Resume Next
    GetCalendarAttributes Me, bytMonth, intYear
    '...
'arb anfang
    Set colCalAttributes = New Collection
    Set objFeiertage = New clsFeiertage
    For datCurrentDate = Me.objCalendar.CalFirstDay.CalDay_Date To _
                                         Me.objCalendar.CalLastDay.CalDay_Date
  ' Debug.Print Me.objCalendar.CalFirstDay.CalDay_Date
  ' Debug.Print Me.objCalendar.CalLastDay.CalDay_Date
        objFeiertage.BerechneFeiertage Year(datCurrentDate)
        'Berechnung und Darstellung der Feiertage
        '(pro Jahr automatisch neu berechnet)
        For Each objFeiertag In objFeiertage.Feiertage
        'Debug.Print "aha  " & datCurrentDate
            If datCurrentDate = objFeiertag.Feiertag Then
                Set objCalAttribute = New clsCalendarAttribute
                With objCalAttribute
                    .CAtt_ForeColor = RGB(255, 0, 0)
                    .CAtt_Color = RGB(255, 255, 255)
                    .CAtt_AdditionalText = ""
                    .CAtt_Date = datCurrentDate
                    .CAtt_BorderColor = RGB(255, 0, 0)
                End With
                colCalAttributes.Add objCalAttribute
            End If
        Next objFeiertag
    Next datCurrentDate
'arb ende
    Me.sfUFO_Termin.Requery
    Me.LstAngebotKomplettverfolgung.Requery
    '...
End Sub

MfG
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Programmierung / VBA: Form.-Ref. auf UFOs/UFO-Container vereinfacht {Nachgefragt} 6 Gast 190 19. Feb 2014, 18:07
JensFliese66 Form.-Ref. auf UFOs/UFO-Container vereinfacht {Nachgefragt}
Keine neuen Beiträge Access Programmierung / VBA: Automatischer Mailversand ohne Warnmeldung {Nachgefragt} 56 Manuel_ 16295 02. Jan 2014, 12:41
Oliver11 Automatischer Mailversand ohne Warnmeldung {Nachgefragt}
Keine neuen Beiträge Access Programmierung / VBA: Datenexport aus Access in eine Excel-Vorlage {Nachgefragt} 7 Feeko 549 16. Dez 2013, 13:58
Thompsen00 Datenexport aus Access in eine Excel-Vorlage {Nachgefragt}
Keine neuen Beiträge Access Programmierung / VBA: Barcode für Access (nur mit Access) BC39 (Nachgefragt) 6 Gast 111 31. Okt 2013, 13:35
Blackpit Barcode für Access (nur mit Access) BC39 (Nachgefragt)
Keine neuen Beiträge Access Formulare: Umgang mit m:n-Beziehungen - nachgefragt 108 stpimi 20111 28. Okt 2013, 21:44
KlausMz Umgang mit m:n-Beziehungen - nachgefragt
Keine neuen Beiträge Access Programmierung / VBA: automatisches Frontendupdate {Nachgefragt} 31 maristein 6937 04. Sep 2013, 09:21
Jens HB automatisches Frontendupdate {Nachgefragt}
Keine neuen Beiträge Access Hilfe: DLookup() versus OpenRecordset {Nachgefragt} 28 josa65 5452 23. Jul 2012, 19:29
steffen0815 DLookup() versus OpenRecordset  {Nachgefragt}
Keine neuen Beiträge Access Hilfe: Benutzer und Gruppenkonten verwalten A2007 {Nachgefragt} 12 gasttt 2127 23. Apr 2012, 23:44
Wisi82 Benutzer und Gruppenkonten verwalten A2007 {Nachgefragt}
Keine neuen Beiträge Access Programmierung / VBA: Verknüpfte Tabellen in Front-/Backend prüfen {Nachgefragt} 122 crunchips 13721 21. März 2011, 11:22
clemfg Verknüpfte Tabellen in Front-/Backend prüfen {Nachgefragt}
Keine neuen Beiträge Access Programmierung / VBA: Textbox wie Combo zum Suchen von DS verwenden (Nachgefragt) 4 RebeccaLiDe 291 02. März 2011, 13:36
RebeccaLiDe Textbox wie Combo zum Suchen von DS verwenden (Nachgefragt)
Keine neuen Beiträge Access Programmierung / VBA: Sortieren eines Listenfeldes mit Werteliste (Nachgefragt) 26 trekking 2435 04. Jan 2010, 15:21
trekking Sortieren eines Listenfeldes mit Werteliste (Nachgefragt)
Keine neuen Beiträge Access Programmierung / VBA: Mausrad im Formular deaktivieren!!! {Nachgefragt} 9 turbocache 3034 23. Jul 2009, 16:36
RuffY Mausrad im Formular deaktivieren!!! {Nachgefragt}
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Word Serienbriefe