Neuigkeiten:

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

Mobiles Hauptmenü

Ufo -> bedingte Formatierung erst bei klick??

Begonnen von Xoar, Februar 02, 2017, 20:57:12

⏪ vorheriges - nächstes ⏩

Xoar

Hallo,

ich hab ein Problem welches ich nicht gelöst bekomme.
Ich habe ein HF und ein Ufo, im HF wähle ich über ein Textfeld mit dem "DatePicker" ein Datum aus, daraufhin führe ich im "bei geändert" Ereignis folgendes Code aus.
DoCmd.RunCommand acCmdSaveRecord
         KombiDatumstagUpdate


folge:
Public Sub KombiDatumstagUpdate()
If IsNull(Me!KombiDatumstag) Then Exit Sub

Dim rst As DAO.Recordset
    Set rst = Me.RecordsetClone
    rst.FindFirst "Datumstag_F = #" & Format(Me!KombiDatumstag, "yyyy-mm-dd") & "#"
    Me.Bookmark = rst.Bookmark

Set rst = Nothing
    Call FormularAktualisieren
end sub


jetzt nur ein kleiner Auszug aus FormularAktualisieren
Form_frmDienstplan!ufrmDienstplan.Requery
Form_frmDienstplan!ufrmDienstplanAngestellte.Requery
Form_frmDienstplan!frmIstStunden.Requery
Form_frmDienstplan!frmIstStundenAktuell.Requery
Form_frmDienstplan!ReportDienstposten.Requery


so... jetzt das Problem.

es funktioniert alles super, außer das ich keine bedingte Formatierung in dem Ufos dargestellt bekomme BIS ich irgendwo hinklicke, egal ob im HF, oder Ufo.
hab schon me.refresh, me.repaint , ufo.setfocus usw. probiert. Alles ohne Erfolg, sie klappt erst nach einem Mausklick.

hat wer ne Idee, woran das liegt? Beim open Ereignis des HF wird ein DS anhand es heutigen Datums automatisch als Bookmark gesetzt und da zeigt er die Formatierung an. Aber nicht beim wechsel des DS....  HILFE  :o

PS: Ich habe auch noch Textfelder im Ufo die bei Steuerelementinhalt: =[Position].[column](1) haben, diese werden AUCH erst nach einem "klick" sonstwo hin angezeigt.

Lachtaube

Ich würde versuchen, die Unterformulare über das Feld Datumstag_F (wenn das Dein Schlüsselfeld ist) im Hauptformular zu verknüpfen (Eigenschaften Verknüpfen Von und Verknüpfen Nach der Unterformularsteierelemente verwenden). Ein Requery auf die Unterformulare sollte dann IMHO nicht notwendig sein.

PS: Für das Anstoßen der Suche würde ich eher das Nach Aktualisierung Ereignis in Betracht ziehen - dann kann man auch mal ein Datum eintippen.

Wenn's nicht hilft, bitte ein abgespecktes Beispiel im mdb-Format hochladen.
Grüße von der (⌒▽⌒)

Xoar

Hi,

Ja das mit dem verknüpfen hab ich auch schon angefangen umzusetzten, viel mir heute Nacht auch ein. Werd ich heute Abend mal weiter testen.

Das Prob mit "nach aktualisierung" ist, dass der Wert erst genutzt wird, sobald ich den Fokes des Feldes verliere, oder mit Enter bestätige.

Zumindest wird es nicht ausgelöst wenn ich über den Datepicker ein Datum wähle.

Xoar

So habs mal geändert.
Leider tritt der Fehler immer noch auf, habs unter Acc2010 und 2016 getestet.

Vorher, wo ich das Datum über ein Kombi Feld mit Datensatzherkunft einer Tabelle ausgewählt hatte, klappte das ohne Probleme..... ich werd weiter testen.

PS: evtl. keine schöne Lösung, aber kann man einen Mausklick per VBA simmulieren? So ähnlich wie Sendkeys {Enter}?

Hochladen kann ich leider nicht, ist schon zu komplex mit Daten bestückt.

DF6GL

Hallo,

bei der Auswahl eines Datums mit dem integrierten DatePicker wird das "Change"-Ereignis des Textfeldes ausgelöst....
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

bahasu

Hi
Zitat von: Xoar am Februar 03, 2017, 14:49:05

PS: evtl. keine schöne Lösung, aber kann man einen Mausklick per VBA simmulieren? So ähnlich wie Sendkeys {Enter}?



'aus: http://www.vbarchiv.net/tipps/tipp_52-mausklick-simulieren.html

' Benötigte Deklarationen
Private Declare Sub mouse_event Lib "user32" _
  ( _
  ByVal dwFlags As Long, _
  ByVal dx As Long, _
  ByVal dy As Long, _
  ByVal cButtons As Long, _
  ByVal dwExtraInfo As Long)


    Public Const MOUSE_LEFT = 0
    Public Const MOUSE_MIDDLE = 1
    Public Const MOUSE_RIGHT = 2

' Die nachfolgende Prozedur simuliert den gewünschten Mausklick.
Public Sub SendMausklick(ByVal mButton As Long)
  Const MOUSEEVENTF_LEFTDOWN = &H2
  Const MOUSEEVENTF_LEFTUP = &H4
  Const MOUSEEVENTF_MIDDLEDOWN = &H20
  Const MOUSEEVENTF_MIDDLEUP = &H40
  Const MOUSEEVENTF_RIGHTDOWN = &H8
  Const MOUSEEVENTF_RIGHTUP = &H10

  If (mButton = MOUSE_LEFT) Then
    Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
    Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
  ElseIf (mButton = MOUSE_MIDDLE) Then
    Call mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0)
    Call mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0)
  Else
    Call mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
    Call mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
  End If
End Sub


Vielleicht hilft das?

Harald
Servus

Xoar

Ich teste es nachher mal.

Das "change" Ereignis ist ja das "bei geändert"
Oder?

Xoar

@bahasu

ja das Mausklick simulieren klappt.
Problem gelöst, woran es auch immer gelegen hat.