none
Richtiges Ereignis gesucht

    Frage

  • Hallo zusammen,

    bei der Entwicklung eines Datenbank-FrontEnds möchte ich in einigen Unterformularen direkt bei Aufruf eines Datensatzes der übergeordneten Tabelle jeweils zum letzten Datensatz springen. Ich habe dazu für das Ereignis 'Beim Anzeigen' ein Makro geschrieben (besteht ja nur aus einem Befehl), welches das gewünschte leistet. Das Problem daran: ich kann jetzt in den Unterformularen keine neuen Datensätze mehr anhängen, obwohl in der Navigationsleiste das Symbol für einen neuen Datensatz aktiviert ist. Es handelt sich bei den Unterformularen um Endlosformulare und die jeweils letzte Zeile für einen neuen Datensatz wird auch angezeigt. Es lässt sich dort nur nirgendwo der Cursor platzieren, so dass es nicht möglich ist, irgendetwas einzutragen.

    Woran könnte das liegen? Habe ich für mein Makro das falsche Ereignis gewählt oder muss ich einen völlig anderen Weg einschlagen?

    Im Voraus vielen Dank für jede Antwort.

    Beste Grüße, J. Dessecker

      

    Donnerstag, 12. Februar 2015 17:11

Alle Antworten

  • Hallo!

    Zwei Angaben fehlen:

    Im Ereignis "Beim Anzeigen" welchen Objektes hast du das Makro und woraus besteht es?

    Nach deiner Problemschilderung vermute ich, dass du es im Unterformular (UFo) hast. Dann springt natürlich der Cursor/Fokus gemäß deine Anweisung bei jedem Datensatz-Anzeigen/Wechseln wieder zum letzten DS.

    Das Makro gehört also - wie du selber im ersten Satz schreibst - in das Anzeigen-Ereignis des Hauptformulares (HFo).

    Wie die Befehle zu formulieren sind, hängt davon ab, ob du mit "Makro" wirklich ein Makro meinst, oder - wie viele Leute - VBA-Code und woraus das bisher besteht. In einem HFo-Makro kannst du z.B. den Fokus auf das UFo-Steuerelement im Hauptformular setzen und dann die Aktion GeheZuDatensatz verwenden.

    In VBA sollte diese Zeile reichen:

    Me!DeinUFoName.Form.Recordset.MoveLast


    cu
    Karl
    Access FAQ (de/it): donkarl.com
    Access Lobby: AccessDevelopers.org

    Donnerstag, 12. Februar 2015 17:55
  • Hallo Herr Donaubauer,

    zunächst vielen Dank für Ihre Antwort. Ich habe mich vielleicht etwas ungeschickt ausgedrückt.

    - Im Unterformular soll (bei Aufruf des Hauptformulars oder beim Navigieren zu einem anderen Datensatz der Abfrage des Hauptformulars) zum letzten Datensatz des Unterformulars gesprungen werden.

    - Es geht um das Makro 'GehezuDatensatz: Letzter', welches ich dem Ereignis 'Beim Anzeigen' zugeordnet habe. Das Problem an Ihrer Vorgehensweise, die mir durchaus einleuchtet, ist die Tatsache, dass es in Wirklichkeit nicht um ein sondern um vier Unterformulare geht, für die jeweils der letzte Datensatz angezeigt werden soll. Die können ja nicht alle gleichzeitig den Fokus bekommen. Man könnte natürlich alle vier hintereinander mit der von Ihnen vorgeschlagenen Methode ansteueren, aber das sieht u.U. etwas seltsam aus, wenn die alle hintereinander den Fokus bekommen und wieder abgeben. Darüber hinaus sind sie gar nicht in der Reihenfolge des Hauptformulars, also die Eigenschaft 'In Reihenfolge' soll für die Unterformulare auf Nein gesetzt sein.

    Hätten Sie mir da vielleicht doch noch eine andere Idee? :-)

    Beste Grüße, J. Dessecker

      

    Donnerstag, 12. Februar 2015 18:11
  • Hallo!

    Ich würde es mal einfach testen. Das Hintereinander-Fokus-Setzen ist im Normalfall gar nicht zu sehen. Die Eigenschaft "In Reihenfolge" bezieht sich nur auf die Tastatur und spielt beim programmiertechnischen Fokus-Setzen keine Rolle.


    cu
    Karl
    Access FAQ (de/it): donkarl.com
    Access Lobby: AccessDevelopers.org

    Donnerstag, 12. Februar 2015 18:20
  • Hallo Herr Donaubauer,

    ok, vielen Dank einstweilen. Ich werde es baldmöglichst probieren, vielleicht auch doch per VBA und mich auf jeden Fall zurückmelden!

    Beste Grüße & einen schönen Abend,

    J. Dessecker

     
    Donnerstag, 12. Februar 2015 18:28