Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Access: Textfelder synchronisieren; repaint |
16.01.2012 15:25:46 |
Stefan |
|
|
|
22.01.2012 22:59:56 |
Heiko |
|
|
|
23.01.2012 18:07:42 |
Stefan |
|
|
Von:
Stefan |
Datum:
16.01.2012 15:25:46 |
Views:
2251 |
Rating:
|
Antwort:
|
Thema:
Access: Textfelder synchronisieren; repaint |
Hallo in die Runde!
Ich habe das folgende Problem, bei dem ich nicht weiterweiß. In einem Formular in geteilter Ansicht
gibt es ein gebundenes Textfeld "Ende" und ein ungebundenes Textfeld "txtEnde". Die Spalte "ende" in
der Datenbank ist vom Typ "datetime". Da das Ende-Datum nur minutengenau angezeigt werden soll,
verstecke ich das gebundene Feld "ende" und zeige in "txtEnde" einen gekürzten Datums-String:
Private Sub Form_Current()
If Not IsNull(Me!Ende) Then Me!txtEnde = Mid(CStr(Me!Ende), 1, 16) Else Me!txtEnde = ""
Debug.Print "txtEnde: " & txtEnde.Value
End Sub
Problem: txtEnde zeigt beim Blättern durch die Datensätze einen falschen Wert an, nämlich jeweils den
aus der vorherigen Zeile. Die Ausgabe vom debug.print zeigt hingegen den richtigen Wert! Wenn ich
das Formular minimiere und wiederherstelle, zeigt plötzlich auch das Formular den richtigen Wert.
Der folgende Code funktioniert also (notdürftig):
Private Sub Form_Current()
If Not IsNull(Me!Ende) Then Me!txtEnde = Mid(CStr(Me!Ende), 1, 16) Else Me!txtEnde = ""
' Me.Repaint
' repaint aktualisiert txtEnde nicht;
' workaround:
DoCmd.SelectObject acForm, "dafe"
DoCmd.Minimize
DoCmd.SelectObject acForm, "dafe"
DoCmd.restore
End Sub
Müßte nicht eigentlich "Repaint" das tun, was ich möchte?
Kann ich das Problem anders lösen, ohne Minimize/restore, denn das verursacht häßliches Flackern?
Viele Grüße
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Access: Textfelder synchronisieren; repaint |
16.01.2012 15:25:46 |
Stefan |
|
|
|
22.01.2012 22:59:56 |
Heiko |
|
|
|
23.01.2012 18:07:42 |
Stefan |
|
|