Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Larix am November 08, 2019, 13:55:58

Titel: altes Kalender-Steuerelement umwandeln
Beitrag von: Larix am November 08, 2019, 13:55:58
Hallo Zusammen,
ich habe ein großes Problem (für mich). :( :(
Vor einigen Jahren habe ich Auswertungsprogramm bekommen.
Indem innerhalb eines Formulars  das damalige Kalender-Steuerelement in zweifacher Ausführung (Kalender_1 und Kalender_2) z.B. die Daten vom 01.01.2000 bis 31.01.2000 in einem Bericht anzeigen und ausdrucken konnte.
Wenn ich jetzt das Formular aufrufe kann die Kalender nicht mehr anzeigen und alle andere Funktionen gehen natürlich auch nicht.
Seit zwei Wochen versuche ich nun für die Datumsanzeige zu dem Ergebnis  zu kommen aber es geht nicht.
Vielleicht gibt es ja eine Lösung, ich wäre sehr dankbar!!!!
Zur Erklärung habe ich den alten Code beigefügt.

Private Sub Befehl2_Click()
On Error GoTo Err_Befehl2_Click

    Dim stDocName As String
    Dim linkcriteria As String
    Dim AnfDatum As Date
    Dim EndDatum As Date
    Dim form1 As String
   
    stDocName = "Punktebericht"
    form1 = "Berichtsauswahl"
    DoCmd.OpenReport stDocName, acPreview, , linkcriteria

Exit_Befehl2_Click:
    Exit Sub

Err_Befehl2_Click:
    MsgBox Err.Description
    Resume Exit_Befehl2_Click
   
End Sub

Private Sub Kal1_Click()

    Dim AnfDatum As Date
    Dim EndDatum As Date
    Dim KW
    Dim Monat As String
    Dim Monatsname As String
    Dim Jahr As String
   

    AnfDatum = Form_Berichtsauswahl.Kal1.Value
    EndDatum = Form_Berichtsauswahl.Kal2.Value
   
    KW = Format(AnfDatum, "ww", vbSunday)
    Jahr = Year(AnfDatum)
   
    Monat = Month(AnfDatum)
     
    If (Monat = 1) Then
        Monatsname = "Januar"
    ElseIf (Monat = 2) Then
        Monatsname = "Februar"
    ElseIf (Monat = 3) Then
        Monatsname = "März"
    ElseIf (Monat = 4) Then
        Monatsname = "April"
    ElseIf (Monat = 5) Then
        Monatsname = "Mai"
    ElseIf (Monat = 6) Then
        Monatsname = "Juni"
    ElseIf (Monat = 7) Then
        Monatsname = "Juli"
    ElseIf (Monat = 8) Then
        Monatsname = "August"
    ElseIf (Monat = 9) Then
        Monatsname = "September"
    ElseIf (Monat = 10) Then
        Monatsname = "Oktober"
    ElseIf (Monat = 11) Then
        Monatsname = "November"
    Else
        Monatsname = "Dezember"
    End If
   
    Form_Berichtsauswahl.Text16 = Monatsname
    Form_Berichtsauswahl.Text6 = KW
    Form_Berichtsauswahl.Text22 = Jahr
   
End Sub

Private Sub wochabr_Click()
On Error GoTo Err_wochabr_Click

    Dim stDocName As String

    stDocName = "Wochenabrechnung"
    DoCmd.OpenReport stDocName, acPreview

Exit_wochabr_Click:
    Exit Sub

Err_wochabr_Click:
    MsgBox Err.Description
    Resume Exit_wochabr_Click
   
End Sub

Private Sub punktedruck_Click()
On Error GoTo Err_punktedruck_Click

    Dim stDocName As String

    stDocName = "Punktebericht"
    DoCmd.OpenReport stDocName, acNormal

Exit_punktedruck_Click:
    Exit Sub

Err_punktedruck_Click:
    MsgBox Err.Description
    Resume Exit_punktedruck_Click
   
End Sub
Private Sub wochendruck_Click()
On Error GoTo Err_wochendruck_Click

    Dim stDocName As String

    stDocName = "Wochenabrechnung"
    DoCmd.OpenReport stDocName, acNormal

Exit_wochendruck_Click:
    Exit Sub

Err_wochendruck_Click:
    MsgBox Err.Description
    Resume Exit_wochendruck_Click
   
End Sub
Private Sub Befehl15_Click()
On Error GoTo Err_Befehl15_Click

    Dim stDocName As String

    stDocName = "Monatsabrechnung"
    DoCmd.OpenReport stDocName, acPreview

Exit_Befehl15_Click:
    Exit Sub

Err_Befehl15_Click:
    MsgBox Err.Description
    Resume Exit_Befehl15_Click
   
End Sub
Private Sub Befehl20_Click()
On Error GoTo Err_Befehl20_Click

    Dim stDocName As String

    stDocName = "Monatsabrechnung"
    DoCmd.OpenReport stDocName, acNormal

Exit_Befehl20_Click:
    Exit Sub

Err_Befehl20_Click:
    MsgBox Err.Description
    Resume Exit_Befehl20_Click
   
End Sub
Private Sub Befehl24_Click()
On Error GoTo Err_Befehl24_Click

    Dim stDocName As String

    stDocName = "Jahresabrechnung"
    DoCmd.OpenReport stDocName, acPreview

Exit_Befehl24_Click:
    Exit Sub

Err_Befehl24_Click:
    MsgBox Err.Description
    Resume Exit_Befehl24_Click
   
End Sub
Private Sub Befehl25_Click()
On Error GoTo Err_Befehl25_Click

    Dim stDocName As String

    stDocName = "Jahresabrechnung"
    DoCmd.OpenReport stDocName, acNormal

Exit_Befehl25_Click:
    Exit Sub

Err_Befehl25_Click:
    MsgBox Err.Description
    Resume Exit_Befehl25_Click
   
End Sub
Private Sub Befehl26_Click()
On Error GoTo Err_Befehl26_Click

    Dim stDocName As String
    Dim stLinkCriteria As String
    Dim form1 As String
   
    form1 = "Berichtsauswahl"
    stDocName = "Startformular"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    DoCmd.Close acForm, form1, acSaveNo

Exit_Befehl26_Click:
    Exit Sub

Err_Befehl26_Click:
    MsgBox Err.Description
    Resume Exit_Befehl26_Click
   
End Sub
Private Sub Jahresüberblick_Click()
On Error GoTo Err_Jahresüberblick_Click

    Dim stDocName As String

    stDocName = "Jahresüberblick"
    DoCmd.OpenReport stDocName, acPreview

Exit_Jahresüberblick_Click:
    Exit Sub

Err_Jahresüberblick_Click:
    MsgBox Err.Description
    Resume Exit_Jahresüberblick_Click
   
End Sub
Private Sub zur_Dateneingabe_Click()
On Error GoTo Err_zur_Dateneingabe_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "Dateneingabe"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_zur_Dateneingabe_Click:
    Exit Sub

Err_zur_Dateneingabe_Click:
    MsgBox Err.Description
    Resume Exit_zur_Dateneingabe_Click
   
End Sub
Titel: Re: altes Kalender-Steuerelement umwandeln
Beitrag von: DF6GL am November 08, 2019, 14:02:31
Hallo,

was auch immer die Kal1 und Kal2-Steuerelemente waren, ersetz die beiden durch je ein einfaches Textfeld und stelle die Formateigenschaften

Format/Format  auf Datum,kurz
Format/Datumsauswahl anzeigen auf Für Datumsangaben


ps: 
ZitatDoCmd.Close acForm, form1, acSaveNo

sollte entfernt werden. dieses Sichern bezieht sich nur auf Formular-Design-Änderungen (Formularentwurf)
Titel: Re: altes Kalender-Steuerelement umwandeln
Beitrag von: MzKlMu am November 08, 2019, 15:25:16
Hallo,
und weiterhin:
Die KW Formel ist falsch, liefert zu bestimmten Jahreeswechseln eine falsche KW. Und in Europa fängt die Woche Montags an.
Und die Monatsnamenermittlung ist überflüssig.
Monatsname = MonthName(Month(AnfDatum))

Titel: Re: altes Kalender-Steuerelement umwandeln
Beitrag von: Larix am November 08, 2019, 16:16:10
Hallo Klaus,
danke für die schnelle Antwort!
Ich habe die Textfelder gemacht und sie zeigen auch jeweils das andere Datum an, aber ansonsten passiert nichts.
Außerdem habe ich auch die Abfrage (für den Monatsbericht) geändert:
Zwischen [Formulare]![Berichtsauswahl]![Text29] Und [Formulare]![Berichtsauswahl]![Text31]
Vorher stand dort [Kal1] und [Kal2].
LG
Reinhard
Titel: Re: altes Kalender-Steuerelement umwandeln
Beitrag von: Beaker s.a. am November 08, 2019, 22:44:19
Hallo Reinhard,
Vermutlich musst du die Datumswerte in ein SQL-lesbares Format bringen.
Zwischen Format$([Formulare]![Berichtsauswahl]![Text29], "\#yyyy\-mm\-dd\#") Und Format$([Formulare]![Berichtsauswahl]![Text31], "\#yyyy\-mm\-dd\#")

Da man das öfter mal braucht, schreibt man dafür am Besten eine Function,
die den formatierten Datumsstring zurück gibt.
Public Function SQLDatum(ByVal datWert As Date) As String
    SQLDatum = Format$(datWert, "\#yyyy\-mm\-dd\#")
End Function

In Abfragen dann so verwenden
... SQLDatum(Tabelle.Datumsfeld) ...

gruss ekkehard
Titel: Re: altes Kalender-Steuerelement umwandeln
Beitrag von: Larix am November 09, 2019, 18:25:28
Hallo Ekkehard,
wenn ich Deinen Code in die Abfarge einfüge bekomme ich immer die Antwort: der von Ihnen eingegebene Ausdruck ist syntatisch falsch :(.
Trozdem danke, ich propier es weiter.
LG Reinhard
Titel: Re: altes Kalender-Steuerelement umwandeln
Beitrag von: Beaker s.a. am November 09, 2019, 20:23:21
Hallo Reinhard,
Den Syntaxfehler finde ich leider nicht. Vielleicht schaut jemand anders mal
drüber.
Einen anderen Fehler habe ich jedoch selbst gemacht; - in Abfragen muss es
[Forms] statt [Formulare] heissen.
gruss ekkehard
Titel: Re: altes Kalender-Steuerelement umwandeln
Beitrag von: DF6GL am November 10, 2019, 08:41:55
Hallo,


@Larix

was hast Du wo eingefügt?

Poste  mit C&P die vollständige Prozedur und den SQL-String der Abfrage..