none
Datensatzmarkierer im Register "mitnehmen"

    Frage

  • Hallo,

    habe ein Register mit 5 Seiten.

    Jede Seite enthält ein Teil der Datenfelder von 1 Tabelle, realisiert durch 5 Abfragen.

    Jede Seite enthält den gleichen ID. Wenn ich nun einen DS im ersten Register markiere, und die Seite wechsle, würde ich gerne dann dort auch den DS markieren mit dem gleichen ID wie zuvor. Wie kann ich das machen?

    Hintergrund ist, dass die Tabelle zu groß ist um am Stück als Endlosform anzuzeigen, deshalb hab ich sie in Funktionsbereiche unterteilt.

    Gruß Andreas


    http://www.AccessBlog.de


    Was ich vergaß, auf jeder Registerseite ist ein Unterformular-Control mit einem Formular in Endlos-Ansicht als SourceObject
    Montag, 26. März 2012 21:52

Antworten

Alle Antworten

  • Hallo,

    vielleicht gibt es 'elegantere' Lösungen, aber ich handle das in ähnlichen Fällen (Access 2003), indem ich die entspr. ID an eine (globale) Variable übergebe und dann über die bedingte Formatierung ('Ausdruck' ist [ID] = globale Variable) und nach recalc oder requery eine 'Markierung' durch beliebige Farbgebung, Hervorhebung o.ä. darstelle.

    Gruß, Stefan

    Montag, 26. März 2012 22:36
  • Am 26.03.2012 schrieb Andreas Vogt:

    Jede Seite enthält ein Teil der Datenfelder von 1 Tabelle, realisiert durch 5 Abfragen.

    Jede Seite enthält den gleichen ID. Wenn ich nun einen DS im ersten Register markiere, und die Seite wechsle, würde ich gerne dann dort auch den DS markieren mit dem gleichen ID wie zuvor. Wie kann ich das machen?

    In diese Richtung würde ich gehen: http://www.donkarl.com?FAQ4.3 Oder
    sowas ähnliches: http://www.donkarl.com?FAQ4.5

    Servus
    Winfried


    Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
    GPO's: http://www.gruppenrichtlinien.de
    Community Forums NNTP Bridge: http://communitybridge.codeplex.com/

    • Als Antwort markiert Andreas Vogt Dienstag, 27. März 2012 08:04
    Dienstag, 27. März 2012 05:07
  • Hallo Winfried,

    danke für den Tip, FAQ 4.3 hat geholfen.

    @Stefan: das mit der bedingten Formatierung klappt nicht. Was meinst du mit Recalc bzw. Requery? Verstehe da den Zusammenhang nicht.

    Andreas


    http://www.AccessBlog.de

    Dienstag, 27. März 2012 07:11
  • Hallo Andreas

    Andreas Vogt wrote:

    Jede Seite enthält ein Teil der Datenfelder von 1 Tabelle, realisiert
    durch 5 Abfragen.

    Wie sind diese Datenfelder auf dem Register angeordnet? In einem Unterformular?

    Jede Seite enthält den gleichen ID. Wenn ich nun einen DS im ersten
    Register markiere, und die Seite wechsle, würde ich gerne dann dort auch
    den DS markieren mit dem gleichen ID wie zuvor. Wie kann ich das machen?

    Das sollte eigentlich mit http://www.donkarl.com?FAQ4.3 machbar sein.
    Statt des Formulars musst Du das Unterformular im gleichen Formular referenzieren (http://www.donkarl.com?FAQ4.2), der Rest bleibt gleich.

    Nun musst Du noch das passende Ereignis finden. Geeignet wäre z.B. das Form_Current Ereignis des UFOs, in dem Du den Datensatz wechselst um dann im Hintergrund gleich die UFOs der anderen Register ebenfalls zu wechseln. Falls das zu langsam wird (naheliegend, bei Deiner Beschreibung), dann kannst Du statt dessen den Change Event des Registers benutzen und nur dann synchronisieren, wenn das Register gewechselt wird und die ID geändert hat.

    Gruss
    Henry

    Dienstag, 27. März 2012 08:15
  • Hallo Henry,

    Danke für deine Antwort.

    Bezüglich der farblichen Markierung aktueller Datensatz möchte ich noch nachliefern dass die hier: http://access.mvps.org/access/forms/frm0047.htm beschriebene Methode funktioniert.

    Gruß Andreas


    http://www.AccessBlog.de

    Mittwoch, 28. März 2012 11:02
  • Hallo Andreas

    Andreas Vogt wrote:

    Bezüglich der farblichen Markierung aktueller Datensatz möchte ich noch
    nachliefern dass die hier:http://access.mvps.org/access/forms/frm0047.htm
    beschriebene Methode funktioniert.

    Verstehe noch nicht ganz, was das mit der Frage zu tun hat.
    Zum Link selber: Damals gab es noch keine Bedingte Formattierung. Wenn Du diese Bedingung für ein Textfeld im Hintergrund benutzt (das disabled und locked ist), dann kannst Du das auch einfacher haben, indem Du einfach von diesem die Backcolor von der Bedignung abhängig setzt oder eben nicht.

    Gruss
    Henry

    Donnerstag, 29. März 2012 10:26
  • Hallo Henry,

    also, die Frage nach dem Datensatzmarkierer wurde im Posting 4 von Wilfried bereits beantwortet. 

    Von Stefan wurde in Posting 3 die Lösung mit der bedingten Formatierung vorgeschlagen.

    Diese Funktioniert bei mir aber nicht, da bei Form_Change (Registerseite wechsel) ein falscher Wert in die globale Variable geschrieben wird aus mir unerfindlichen Gründen.

    Daher habe ich eine andere funktionierende Lösung in Form des Links nachgeliefert die mir geholfen hat.

    Gruß Andreas


    http://www.AccessBlog.de

    Donnerstag, 29. März 2012 11:42
  • Hallo Winfried,

    danke für den Tip, FAQ 4.3 hat geholfen.

    @Stefan: das mit der bedingten Formatierung klappt nicht. Was meinst du mit Recalc bzw. Requery? Verstehe da den Zusammenhang nicht.

    Andreas


    http://www.AccessBlog.de

    Hallo Andreas,

    ...ich bleibe ja keine Antwort schuldig, auch wenn Dein Problem gelöst scheint: mit Recalc bzw. Requery erzeuge ich die notwendige Bildschirmaktualisierung für die bedingte Formatierung, wobei Requery natürlich ggf. zu aufwendig ist, weil die Daten der zugrundeliegenden Tabelle/Abfrage komplett neu abgefragt werden. Recalc berechnet nur die (berechneten) Steuerelemente neu und modifiziert ggf. die Anzeige. Refresh funktioniert insofern auch.

    Was ich natürlich nicht beschrieben hatte, war die Navigation hin zu dem jeweiligen Datensatz in Deinen jeweiligen Tabellen, so erkläre ich mir, daß es bei Dir nicht geklappt hat. Ich dachte, das sei eine andere Baustelle... und insofern Gelegenheit für weitere Kommunikation.

    Gruß Stefan

    Donnerstag, 29. März 2012 11:43