Kleine Fragen zu Funktionen und Formularen

Hallo,
ich versuche mich immer tiefer in Access einzuarbeiten und habe deshalb gleich mehrere Fragen zu Access 2000:

  1. Mit welcher Funktion kann ich am einfachsten das Anfangsdatum und Enddatum vom letzen Monat, Tag und Stunde vom Datumstyp: tt.mm.yyyy hh24:mi berechnen
    (z.B.: Monat: 01.05.2002 00:00/31.05.2002 23:59
    Tag: 09.06.2002 00:00/09.06.2002
    Stunde 09.06.2002 21:00/09.06.2002 22:00)

Beispiel oder grobe Hinweise wären nicht schlecht

2)Wie kann ich neben dem StandardDatumsformat (tt.mm.yyyy hh24:mi:se)ein Datumsformat vom Typ (tt.mm.yyyy hh24:mi) erzeugen

  1. Wie kann ich ein ungebundenes Feld in einem Formular mit einem Standardwert über eine Funktion initialisieren ohne das Formular zu öffnen

  2. Wo muss ich welche Einstellungen durchführen damit ich beim Öffnen des Hauptformulars die Unterformulare nicht sehe. Erst durch Starten eines Makros soll eines der Unterformulare angezeigt werden. Insgesamt habe ich 3 mögliche Unterformulare.

Bin für jede kleine Bemerkung dankbar!

Mit freundlichen Grüßen
Willi

Hallo Willi,

  1. Mit welcher Funktion kann ich am einfachsten das
    Anfangsdatum und Enddatum vom letzen Monat, Tag und Stunde vom
    Datumstyp: tt.mm.yyyy hh24:mi berechnen
    (z.B.: Monat: 01.05.2002 00:00/31.05.2002 23:59
    Tag: 09.06.2002 00:00/09.06.2002
    Stunde 09.06.2002 21:00/09.06.2002 22:00)

Beispiel oder grobe Hinweise wären nicht schlecht

Grober Hinweis:
Function test()
Dim adatum As Date
Dim edatum As Date
'1.Tag ist klar ist immer der erste.
adatum = „01“ & „.“ & Month(Date) - 1 & „.“ & Year(Date) & " 00:00:00"
Debug.Print adatum

'Letzter Tag ist immer der erste Tag im Folgemonat minus 1
edatum = („01“ & „.“ & Month(Date) & „.“ & Year(Date) & " 23:59")
edatum = edatum - 1
Debug.Print edatum

End Function

2)Wie kann ich neben dem StandardDatumsformat (tt.mm.yyyy
hh24:mi:se)ein Datumsformat vom Typ (tt.mm.yyyy hh24:mi)
erzeugen

Doppelpunkt se (:se) in der Formatierung einfach entfernen.

  1. Wo muss ich welche Einstellungen durchführen damit ich beim
    Öffnen des Hauptformulars die Unterformulare nicht sehe.

Unterformular.visible=false

Mit freundlichen Grüßen
Gerd

Hallo,
ich versuche mich immer tiefer in Access einzuarbeiten und
habe deshalb gleich mehrere Fragen zu Access 2000:

  1. Mit welcher Funktion kann ich am einfachsten das
    Anfangsdatum und Enddatum vom letzen Monat, Tag und Stunde vom
    Datumstyp: tt.mm.yyyy hh24:mi berechnen
    (z.B.: Monat: 01.05.2002 00:00/31.05.2002 23:59
    Tag: 09.06.2002 00:00/09.06.2002
    Stunde 09.06.2002 21:00/09.06.2002 22:00)

Beispiel oder grobe Hinweise wären nicht schlecht

http://www.donkarl.com/FAQ/FAQ2Allgemein.htm#2.8 (FAQ 2.8)

2)Wie kann ich neben dem StandardDatumsformat (tt.mm.yyyy
hh24:mi:se)ein Datumsformat vom Typ (tt.mm.yyyy hh24:mi)
erzeugen

Als Format: „tt.mm.jjjj hh:nn“ angeben (bzw. in VBA „dd.mm.yyyy hh:nn“)

  1. Wie kann ich ein ungebundenes Feld in einem Formular mit
    einem Standardwert über eine Funktion initialisieren ohne das
    Formular zu öffnen

In einem nicht-geöffneten Formular kann man gar nichts machen!

  1. Wo muss ich welche Einstellungen durchführen damit ich beim
    Öffnen des Hauptformulars die Unterformulare nicht sehe. Erst
    durch Starten eines Makros soll eines der Unterformulare
    angezeigt werden. Insgesamt habe ich 3 mögliche
    Unterformulare.

Grundsätzliche Anmerkung: Fang gar nicht erst mit Makros an (meine Meinung zum Thema: http://spotlight.de/zforen/amsa/m/amsa-971080941-700…).

Ansonsten:
Am allereinfachsten: Nimm ein Register-Steuerelement.
Oder mach die Formulare alle im Entwurf unsichtbar (Formulareigenschaft: Sichtbar: Nein) und dann immer fallweise eines sichtbar, z.B. mit einer Optionsgruppe im HFo:

Private Sub Optionsgruppe\_AfterUpdate()
 Me!UFO1.Visible = False
 Me!UFO2.Visible = False
 Me!UFO2.Visible = False
 Select Case Me!Optionsgruppe 
 Case 1: Me!UFO1.Visible = True
 Case 2: Me!UFO2.Visible = True
 Case 3: Me!UFO3.Visible = True
 End Select
End sub

Wenn die UFOs wirklich „UFO1“ … „UFO3“ heissen, geht das natürlich einfacher:

Private Sub Optionsgruppe\_AfterUpdate()
Dim I as Long
For I = 1 to 3
 Me("UFO" & I).Visible = Me!Optionsgruppe = I
Next I
End sub

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)