none
MouseMove Ereignis Datensatzwechsel Datenblatt

    Frage

  • Hallo

    Ich würde gerne in einem Feld das Ereigniss MouseMove nutzen um auf den Datensatz zu wechseln der gerade im Datenblatt geMausMoved wird.

    Ich habe aber leider keine Idee wie

    Michael

    Dienstag, 17. Dezember 2013 08:54

Alle Antworten

  • Hallo, Michael!

    Stephen Lebans hat dazu etwas: http://www.lebans.com/conformscurcontrol.htm

    Um zum DS zu wechseln, kannst du seine Klasse anpassen. Such dazu im kompletten Code nach der Zeile:

     'Me.Genus.ControlTipText = Me.txtCurrentRowData

    und hänge darunter sowas wie:

    'DS zum aktuellen machen
    m_Form.Recordset.Bookmark = m_Form.RecordsetClone.Bookmark


    Servus
    Karl
    ****
    Katalog zur prof. Access-Anwendung: http://www.donkarl.com/?Katalog


    Dienstag, 17. Dezember 2013 16:54
  • Super danke - Funktioniert (fast) genauso wie ich es wollte

    Nur in der Datenblattansicht "zieht" der Datensatz nach - sprich die Maus ist weiter als der Datensatz

    Muss ich evtl. für die Datenblattansicht die Werte von

    Private Const LOGPIXELSX = 88
    Private Const LOGPIXELSY = 90

    anpassen?

    Dienstag, 17. Dezember 2013 18:25
  • Super danke - Funktioniert (fast) genauso wie ich es wollte

    Nur in der Datenblattansicht "zieht" der Datensatz nach - sprich die Maus ist weiter als der Datensatz

    Muss ich evtl. für die Datenblattansicht die Werte von

    Private Const LOGPIXELSX = 88
    Private Const LOGPIXELSY = 90

    anpassen?

    Versuch macht Kluch ;-)


    Thomas@Team-Moeller.de
    Blog: Blog.Team-Moeller.de
    Homepage: www.Team-Moeller.de


    Samstag, 21. Dezember 2013 10:25
  • Hallo,

    ich habe mal mit Access 2010 reingeguckt.
    Zumindest bei Access 2010 wird eine andere Scrollbar-Klasse namens "NUIScrollbar verwendet, womit der Vergleich in der Methode fIsScrollBar auf die Nase fällt, und in der Folge die Berechnung nicht passt. Eine Möglichkeit wäre, den Vergleich umzustellen von

    If fGetClassName(hWnd_VSB) = "scrollBar" Then

    auf:

    If Right(fGetClassName(hWnd_VSB), Len("ScrollBar")) = "scrollBar" Then

    fIsScrollBar muss am Ende was anderes als -1 liefern. Bitte via Debug.Print kontrollieren, Breakpoints im Code können Probleme machen.

    Da ich mittlerweile keine andere Version  als Access 2010 mehr installiert habe - ich weiß, traurig (; -, mag es für andere Access Versionen weitere Anpassungen brauchen.

    Und nein, die Konstanten LOGPIXELSX/SY sind unveränderlich und liefern über GetDeviceCaps die aktuelle Bildschirmauflösung. Das dient aber "nur" zur Umrechnung von Twips auf Pixel.

    Gruß Elmar

    Samstag, 21. Dezember 2013 11:14
  • Super danke für deine Mühe und Hilfe Elmar - in der Formularansicht passt es jetzt (Access2013)

    in der Datenblattansicht nicht (gerade da benötige ich es) - was an der Spaltenhöhe liegt

    Was bedeuten müsste ich muss erst einmal schauen ist das Formular in der Datenblattansicht wenn ja wie hoch ist die spalte.

    Aber wie/wo


    • Bearbeitet MCDPone Samstag, 21. Dezember 2013 17:29
    Samstag, 21. Dezember 2013 17:28