Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

altes Kalender-Steuerelement umwandeln

Begonnen von Larix, November 08, 2019, 13:55:58

⏪ vorheriges - nächstes ⏩

Larix

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

DF6GL

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)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MzKlMu

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))

Gruß Klaus

Larix

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

Beaker s.a.

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Larix

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

Beaker s.a.

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

DF6GL

Hallo,


@Larix

was hast Du wo eingefügt?

Poste  mit C&P die vollständige Prozedur und den SQL-String der Abfrage..
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access