Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Kalender als PopUp anzeigen lassen bei einem Textfeld
zurück: Formularposition fixieren weiter: Formularposition fixieren Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
DrHigh
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. Jul 2009, 11:14
Rufname:

Kalender als PopUp anzeigen lassen bei einem Textfeld - Kalender als PopUp anzeigen lassen bei einem Textfeld

Nach oben
       Version: Office 2003

Hallo zusammen,

habe ein Formular mit Datumsfeld erstellt wo natürlich ein Datum eintragen werden soll bzw. kann.
Bin natürlich was Mouse verwöhnt und würde gerne auf dieses Datumsfeld ein DTPicker (kalender) hinterlegen per doppel Klick, um ein Kalender anzeigen zu lassen.
Weiß aber leider nicht wie.

Kann mir jemand helfen oder eine andere Lösung anbieten

Danke im Voraus.

DrHigh
DBKlempner
Datenbank-Klempner ;)


Verfasst am:
14. Jul 2009, 13:02
Rufname:


Re: Kalender als PopUp anzeigen lassen bei einem Textfeld - Re: Kalender als PopUp anzeigen lassen bei einem Textfeld

Nach oben
       Version: Office 2003

Etwa so (der code ist aus meiner anwendung)
Code:
Private Sub txtErfassungsDatum_DblClick(Cancel As Integer)
'Kalender Öffnen, Default-Wert übergeben
    DoCmd.OpenForm FormName:="frmKalender", OpenArgs:="txtErfassungsDatum"
    Forms!frmKalender!calKalender = Me!txtErfassungsDatum
End Sub
Das eigentliche Kalender-Steuerelement befindet sich auf einer separaten Form.

Die erste zeile meinses codes öffnet diese form und übergibt mittels des OpenArgs Parameters den namen des Datumsfeldes auf dem hauptformular.
Die zweite zeile übergibt dessen Inhalt an das Calender-Control im separaten form.

Übrigens fällt mir erst jetzt auf, dass das in dieser Form suboptimal ist - nunja, als ich das schrieb, stand ich wohl etwas neben mir, das werde ich fixen.

Besser ist nämlich, Name UND Inhalt, getrennt durch ein Trennzeichen (z.B. das ";") zu übergeben und diesen String im LOAD Ereignis des aufgerufenen Forms mittels SPLIT wieder aufzutrennen.

Die Übergabe des im Kalender-Formular eingestellten Wertes erfolgt dann etwa so:
Code:
Private Sub cmdSchliessen_Click()
    Forms!frmMaster(strCallingControl) = Me!calKalender
    DoCmd.Close acForm, Me.Name
End Sub
"strCallingControl" ist eine Für das kalender-Form globale Variable, in der ich den Namen des Textfeldes zwischengespeichert habe.

Noch besser wäre, beide formulare mitels OOP mit Get() und Set() methoden zu versehen und darüber die Übergabe zu regeln, aber das ist "hohe Schule" ;)

Volker

_________________
Linux is like a wigwam: no gates, no windows and an apache inside
-----
Ich beantworte keine ACCESS-Fragen per PN!
DrHigh
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. Jul 2009, 13:55
Rufname:

AW: Kalender als PopUp anzeigen lassen bei einem Textfeld - AW: Kalender als PopUp anzeigen lassen bei einem Textfeld

Nach oben
       Version: Office 2003

Hallo Volker,

danke für den Vorschlag,
das sieht nach einer sehr guten Lösung aus.
Nur welchen Kalender kann ich im seperaten Formular nutzen?
Die Ansicht vom Microsoft Date and Time Picker wäre sehr gut.

Hast Du dafür auch noch einen Vorschlag, wie ich dies hinbekommen könnte?

Danke im Voraus.

Gruß
Sascha
Willi Wipp
Moderator


Verfasst am:
14. Jul 2009, 14:11
Rufname:
Wohnort: Raum Wiesbaden

Re: Kalender als PopUp anzeigen lassen bei einem Textfeld - Re: Kalender als PopUp anzeigen lassen bei einem Textfeld

Nach oben
       Version: Office 2003

Hi DrHigh,

das waere eine der Moeglichkeiten. Es muss dann nur das Steuerelement calKalender auf frmKalender sein.

@DBKlempner,

habe ich etwas ueberlesen oder sollte strCallingControl durch OpenArgs ersetzt bzw.
im Formular-Ereignis Beim Laden (Load) zugewiesen werden.
Vorausgesetzt strCallingControl ist eine Modul-Variable und nicht global (:=Public) Wink

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
DBKlempner
Datenbank-Klempner ;)


Verfasst am:
14. Jul 2009, 14:43
Rufname:

Re: Kalender als PopUp anzeigen lassen bei einem Textfeld - Re: Kalender als PopUp anzeigen lassen bei einem Textfeld

Nach oben
       Version: Office 2003

auch wenn ich Willi zitiere - die Antwort gilt euch beiden ;)

Willi Wipp - 14. Jul 2009, 14:11 hat folgendes geschrieben:
das waere eine der Moeglichkeiten. Es muss dann nur das Steuerelement calKalender auf frmKalender sein.
Ich habe das "alte" MS CalendarControl benutzt - mittlerweile scheint unsere IT irgendwelche updats vorgenommen zu haben, so dass ich nicht mehr auswählen könnte, die vorhandene applikation funktioniert aber nach wie vor.

Zitat:
habe ich etwas ueberlesen oder sollte strCallingControl durch OpenArgs ersetzt bzw.
im Formular-Ereignis Beim Laden (Load) zugewiesen werden.
Richtig.

Zitat:
Vorausgesetzt strCallingControl ist eine Modul-Variable und nicht global (:=Public) Wink
sie ist "Formular-Global" sprich, die ist im Deklarationsbereich des Formulares, gleich unter "Option Explicit" angelegt.

Ich hab die Prozedur aber gerade eben verändert, den code möchte ich euch nicht vorenthalten.

Erster Teil: aufruf des Kalender-Formulars aus dem Parent-Form:
Code:
Private Sub txtErfassungsDatum_DblClick(Cancel As Integer)
'Kalender Öffnen, Default-Wert übergeben
    DoCmd.OpenForm FormName:="frmKalender", _
                   OpenArgs:="txtErfassungsDatum;" & Me!txtErfassungsDatum
End Sub
Man beachte, dass jetzt beide Parameter, sowohl der Name des aufrufenden Steuerelementes als auch dessen Inhalt, mit dem OpenArgs-Parameter übergeben werden. Die beiden Argumente werden per Semikolon getrennt.

Jetzt das, was im "Beim Laden" Ereignis des kalender-forms passiert:
Code:
Private Sub Form_Load()
    Dim strOpenParm() As String
   
    If Not IsNull(Me.OpenArgs) Then
        strOpenParm() = Split(Me.OpenArgs, ";")
        strCallingControl = strOpenParm(0)
        Me!calKalender = strOpenParm(1)
    End If
End Sub
Ich deklariere zunächst ein nicht-dimensioniertes Array namens strOpenParm.
Nach dem erfolgreichen Check des OpenArg Parameters auf Inhalt (ist er "leer" passiert hier nix) zerlege ich den Parameter mittels "Split" in seine beiden Teile und weise sie dem nichtdimensionierten Array zu, das so zu einem Vektor mit zwei Elementen wird, es besteht jetzt aus den Elementen
strOpenParm(0) mit dem Inhalt "txtErfassungsDatum" (so heisst mein Datumsfeld)
und strOpenParm(1) das jetzt entweder leer ist oder ein bereits eingegebenes Datum enthält.

diese beiden Werte übergebe ich an strCallingForm bzw. an das Kalende-Steuerelement

Beide Prozeduren könnte man noch dahingehend ändern, dass eine Verkettung der Parameter nur dann überhaupt stattfindet, wenn im Feld auch was drin steht - beim öffnen des Kalender-Formulars wird dann geprüft, ob verkettet wurde und nur dann geSPLITet)

Volker

PS: willi, ich hab hier heute wieder massive Probleme mit dem forum, bekomme oft
eine schlichte Fehlermeldung, wenn ich das Forum oder einen Beitrag darin aufrufe - selbst die Antwortfunktion ist davor nicht sicher Sad

_________________
Linux is like a wigwam: no gates, no windows and an apache inside
-----
Ich beantworte keine ACCESS-Fragen per PN!
Willi Wipp
Moderator


Verfasst am:
14. Jul 2009, 15:09
Rufname:
Wohnort: Raum Wiesbaden

Re: Kalender als PopUp anzeigen lassen bei einem ... (II) - Re: Kalender als PopUp anzeigen lassen bei einem ... (II)

Nach oben
       Version: Office 2003

@DBKlempner,

da geht es Dir wie mir Wink Ist wohl einfach ueberlastet.
Peter ist auf der Suche hat aber noch keine wirklich befriedigende Loesung.

Du bist Dir bewusst das das Schluesselwort Global in VBA immer noch gueltig und gleichbedeutend mit Public ist?
==> Besser als Modul-Variable bezeichnen. Mir war schon klar was Du meintest Smile

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
DBKlempner
Datenbank-Klempner ;)


Verfasst am:
14. Jul 2009, 15:15
Rufname:


Re: Kalender als PopUp anzeigen lassen bei einem ... (II) - Re: Kalender als PopUp anzeigen lassen bei einem ... (II)

Nach oben
       Version: Office 2003

Willi Wipp - 14. Jul 2009, 15:09 hat folgendes geschrieben:
da geht es Dir wie mir Wink Ist wohl einfach ueberlastet.
Peter ist auf der Suche hat aber noch keine wirklich befriedigende Loesung.
Danke für die Info

Zitat:
Du bist Dir bewusst das das Schluesselwort Global in VBA immer noch gueltig und gleichbedeutend mit Public ist?
Ja. wobei ich mich entsinnen kann, dass man in Access 2.0 VBA (ja, auch damals hab ich schon mit Access gearbeitet - bin halt 'n Alter Sack ;) ) dass man dort tatsächlich von diversen Abstufungen von "global" gesprochen hat ...

Zitat:
==> Besser als Modul-Variable bezeichnen. Mir war schon klar was Du meintest Smile
;) Ich werde versuchen, es mir zu merken

Volker

_________________
Linux is like a wigwam: no gates, no windows and an apache inside
-----
Ich beantworte keine ACCESS-Fragen per PN!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
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 Tabellen & Abfragen: gruppieren-beide texteintraege anzeigen 7 paty 1196 14. Jun 2005, 02:54
tobes gruppieren-beide texteintraege anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrageergebnis als neues Formular anzeigen 2 mila 3034 12. Apr 2005, 12:38
mila Abfrageergebnis als neues Formular anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: alle Kunden mit letzter Rechnung anzeigen 2 Dalmatinchen 1109 08. März 2005, 20:58
Dalmatinchen alle Kunden mit letzter Rechnung anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Textfeld Abfrage 2 Sandro 712 02. Feb 2005, 11:56
Sandro Textfeld Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Leerzeichen in Textfeld entfernen 2 Francesco 1291 17. Dez 2004, 13:46
Francesco Leerzeichen in Textfeld entfernen
Keine neuen Beiträge Access Tabellen & Abfragen: Access automatisch nummerieren lassen 3 NewJanJan 4931 12. Nov 2004, 15:48
lothi Access automatisch nummerieren lassen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit sum, max Wert und verhätnis summe/max anzeigen? 1 IV 2531 04. Nov 2004, 18:14
Skogafoss Abfrage mit sum, max Wert und verhätnis summe/max anzeigen?
Keine neuen Beiträge Access Tabellen & Abfragen: Textlänge in einem Textfeld 4 brauchehilfe@office 2425 30. Okt 2004, 00:05
brauchehilfe@office Textlänge in einem Textfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Anzahl der Datensätze anzeigen? 3 MichaelB 1122 19. Okt 2004, 12:45
lothi Anzahl der Datensätze anzeigen?
Keine neuen Beiträge Access Tabellen & Abfragen: variable Spalte in Abfrage anzeigen -abhängig vom Tagesdatum 1 Lars 1193 10. Sep 2004, 13:54
Lars variable Spalte in Abfrage anzeigen -abhängig vom Tagesdatum
Keine neuen Beiträge Access Tabellen & Abfragen: Parameterabfrage - wenn Parameter leer, alle anzeigen 3 Norman 2935 16. Aug 2004, 22:15
Tweety Parameterabfrage - wenn Parameter leer, alle anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: in einem Textfeld letztes Zeichen löschen? 2 mokona.s 1923 19. Jul 2004, 13:24
mokona.s in einem Textfeld letztes Zeichen löschen?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Editor Forum