none
STRG-A Tastaturbelegung

    Frage

  • Problem Einzelnes Formular beim Ereigniss Taste-Ab habe ich "gesagt" wenn STRG-A dann mache das und das

    mach er auch nur setzt er mir dann zusätzlich den Datensatz in dem formular auf den ersten Datensatz

    wie kann ich das verhindern?

    Sonntag, 3. Oktober 2010 11:02

Antworten

  • Hallo MCDPone,

    MCDPone schrieb folgendes:

    Hier der Code - gekürzt antürlich

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
       On Error GoTo Fehler

    Select Case Shift
        Case 4 'ALT links

        Case 2 'STRG
            If KeyCode = 65 Then Call ZaehlerAngebot_Click 'A (hier wird ein anderes Formular aufgerufen)
     

    end select

    was nun passiert ist : erst wird im Einzelnes Formular der erste datensatz aufgerufen und erst beim zweiten mal STRG-A die aktion ausgeführt

    es sei den das formular steht bereits beim ersten datensatz dann geht es

    nun sollten wir auch den Code aus "ZaehlerAngebot_Click" kennen.

    Du solltest in Deinem KeyDown den KeyCode auf 0 setzen wenn Du auf
    einen KeyCode reagiert hast. (KeyCode=0)

    Gruß
    Gunter


    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    • Als Antwort markiert MCDPone Mittwoch, 6. Oktober 2010 05:46
    Sonntag, 3. Oktober 2010 12:31
    Moderator

Alle Antworten

  • Hallo MCDPone,

    MCDPone schrieb folgendes:

    Problem Einzelnes Formular bei Taste AB habe ich gesaht wenn STRG-A
    dann mache das und das

    mach er auch nur setzt er mir dann zusätzlich den datensatz in dem
    formular auf den ersten Datensatz

    wie kann ich das verhindern?

    Ohne Deinen "dann mache das und das" Code zu sehen ist das schwierig
    zu sagen.

    Evtl hilft Dir ja schon: www.donkarl.com?FAQ4.5

    Gruß
    Gunter


     

    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    Sonntag, 3. Oktober 2010 11:05
    Moderator
  • Hier der Code - gekürzt antürlich

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
       On Error GoTo Fehler

    Select Case Shift
        Case 4 'ALT links

        Case 2 'STRG
            If KeyCode = 65 Then Call ZaehlerAngebot_Click 'A (hier wird ein anderes Formular aufgerufen)
     

    end select

    was nun passiert ist : erst wird im Einzelnes Formular der erste datensatz aufgerufen und erst beim zweiten mal STRG-A die aktion ausgeführt

    es sei den das formular steht bereits beim ersten datensatz dann geht es

    Sonntag, 3. Oktober 2010 12:26
  • Ich habe jetzt im Makro Autokeys

    ^{a} mit angelegt und keine Aktion dahinter gelegt - dann geht es - aber ich weiss nicht ob es da eine "sauberere" lösung gibt

     

    ich denke mal sobalt in dem Macro etwas steht das dann die "normale" tastaturbelegung ausgeschaltet ist - leider dann auch in anderen formularen

    Sonntag, 3. Oktober 2010 12:30
  • Hallo MCDPone,

    MCDPone schrieb folgendes:

    Hier der Code - gekürzt antürlich

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
       On Error GoTo Fehler

    Select Case Shift
        Case 4 'ALT links

        Case 2 'STRG
            If KeyCode = 65 Then Call ZaehlerAngebot_Click 'A (hier wird ein anderes Formular aufgerufen)
     

    end select

    was nun passiert ist : erst wird im Einzelnes Formular der erste datensatz aufgerufen und erst beim zweiten mal STRG-A die aktion ausgeführt

    es sei den das formular steht bereits beim ersten datensatz dann geht es

    nun sollten wir auch den Code aus "ZaehlerAngebot_Click" kennen.

    Du solltest in Deinem KeyDown den KeyCode auf 0 setzen wenn Du auf
    einen KeyCode reagiert hast. (KeyCode=0)

    Gruß
    Gunter


    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    • Als Antwort markiert MCDPone Mittwoch, 6. Oktober 2010 05:46
    Sonntag, 3. Oktober 2010 12:31
    Moderator
  • Hallo,

    MCDPone wrote:

    Ich habe jetzt im Makro Autokeys

    ^{a} mit angelegt und keine Aktion dahinter gelegt - dann geht es - aber
    ich weiss nicht ob es da eine "sauberere" lösung gibt

    ich denke mal sobalt in dem Macro etwas steht das dann die "normale"
    tastaturbelegung ausgeschaltet ist - leider dann auch in anderen
    formularen

    Genau, Autokeys gilt fuer die komplette DB. Wenn du Gunters Rat befolgst, wird es funktionieren:

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    
      Select Case Shift
        Case 4 'ALT links
    
        Case 2 'STRG
            If KeyCode = 65 Then Call ZaehlerAngebot_Click
      End Select
      KeyCode = 0
    End Sub

    Gruss - Peter


    Mitglied im http://www.dbdev.org
    FAQ: http://www.donkarl.com

    Sonntag, 3. Oktober 2010 22:51
    Moderator
  • Hallo MCDPone
     
    Zwei Dinge sind zu beachten:
    1. Du musst den KeyCode = 0 setzen, damit Ctrl-A dann nicht noch an das Formular weitergegeben wird. Ctrl-A hat ja eine vordefinierte Aktion (Alle Auswählen).
    2. Falls Du irgendwo einen Requery machst, ein Formular filterst oder sortierst, oder das Formular neu öffnest, dann verliert der aktive Datensatz den Focus, er ist nicht mehr ausgewählt, sondern der erste im Formular. Umgehen lässt sich das mit www.donkarl.com?FAQ4.5
    Gruss
    Henry
    "MCDPone" <=?utf-8?B?TUNEUG9uZQ==?=> wrote in message news:27316732-b247-4229-89da-9273e8d88659...

    Problem Einzelnes Formular beim Ereigniss Taste-Ab habe ich "gesagt" wenn STRG-A dann mache das und das

    mach er auch nur setzt er mir dann zusätzlich den Datensatz in dem formular auf den ersten Datensatz

    wie kann ich das verhindern?


    [MVP Office Access]
    Montag, 4. Oktober 2010 03:45
  • Danke

    Das war es KeyCode = 0
    war mir bis jetzt unbekannt und löst so einige "probleme" und merkwürdigkeiten die ich hatte

    Mittwoch, 6. Oktober 2010 05:47