Neuigkeiten:

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

Mobiles Hauptmenü

Bechriftung Register

Begonnen von tismo, August 23, 2017, 18:21:57

⏪ vorheriges - nächstes ⏩

tismo

Hallo,

meine Dokumente werden als Registerkarten angezeigt. Dazu habe ich folgende Fragen:

1. ist es möglich dass die Beschriftung des Formularregisters zb. das Kurzzeichen des aktuellen Datensatzes anzeigt, d.h. keine fester Name?

2. mit einer Abfrage starte ich ein Suchformular, aus diesem ich einen entsprechenen Datensatz wählen kann, der dann im Formular angezeigt wird. Ist es möglich mehrere Register mit verschiedenen Datensätzen anzuzeigen? Zu Zeit wird immer nur ein Datensatz angezeit und nach einer weiteren Suche wird wieder nur der zuletzt gesuchte Datensatz angezeigt.

Gruß,

Lars

MzKlMu

Hallo,
Zu 1)
Ja, die Beschriftung eines Registers lässt sich per VBA setzen.

Zu 2)
Habe ich nicht richtig verstanden.
Gruß Klaus

tismo

Hallo Klaus,

zu 1. wie würde die VBA aussehen?

zu 2. ich möchte mehrere Datensätze gleichzeitig öffnen. Immer wenn ich aus meinem Suchformular einen Datensatz anklicke wird nur noch der angeklickte Datensatz angezeit. Der vorherige Datensatz  ist nicht mehr sichtbar.

Bsp. 
Datensatz 1 in Formular A ist offen
über das Suchformular suche ich Datensatz 2 und klicke diesen an.
Datensatz 1 in Formular A wird geschlossen
Datensatz 2 in Formular A ist sichtbar.

Ich würde gerne Datensatz 1 und Datensatz 2 usw. als Register angezeigt bekommen. (vgl, Adobe Photoshop, Adobe Indesign usw,)

MzKlMu

Hallo,
jede Registerseite hat einen Namen. Die Beschriftung dieser Seite wird dann so gesetzt:
Me.Seitenname.Caption = "GewünscherText"
Es kann als Beschriftung (Caption) auch ein Feld des angezeigten Datensatzes verwendet werden.
Me.Seitenname.Caption = Me.Formularfeld

Zu 2)
Da musst weitere Register einfügen.

Das Vorhaben scheint mit wenig pragmatisch.
Kannst Du nicht einfach wieder Suchen an die bisherigen Suchen anhängen um dann alle gefundnen Datensätze zu sehen ?
Gruß Klaus

tismo

#4
zu 1: Meldung: Fehler beim Kompilieren, Methode oder Datenobjekt nicht gefunden
'Seitenname'

zu 2 wie füge ich neue Register ein?

Nur damit wir uns nicht falsch verstehen: Das Formular wird als Register angezeigt und der Formularname soll geändert werden. Ich benutze Access 2010

MzKlMu

Hallo,
da haben wir uns wirklich falsch verstanden. Das sind ja Formulare die Du als Register anzeigst. Deren Name kann man nicht so ohne weiteres ändern. Dazu muss das Formular im Entwurf geöffnet sein. Und der Entwurf muss vor dem Anzeigen der Daten gespeichert werden. Jedes weitere Formular das Du in Registern anzeigen willst, muss erst im Entwurf erstellet und dann gespeichert werden.
Aus meiner Sicht, macht das Vorhaben keinen Sinn. Du kannst ja nicht für jeden Suchvorgang immer ein eigenes Formular erstellen.
Das musst Du noch mal überdenken.

Erkläre doch mal genauer den Sinn des Vorhabens, ohne jetzt mal an Formulare zu denken.
Gruß Klaus

Lachtaube

Du Formular-Eigenschaft Caption, die auch zur Laufzeit beschrieben werden kann, bestimmt, welcher Text in der Registeransicht angezeigt wird. Luftcode:
Private Sub Form_Current()
   If Me.NewRecord Then
       Me.Caption = "Neuer Datensatz"
   Else
       Me.Caption = Nz(Me.Kuerzelfeldname, "Kürzel fehlt")
   End If
End Sub

Grüße von der (⌒▽⌒)

tismo

#7
@ Klaus

Also, es macht Sinn mehrere Datensätze gleichzeitig geöffnet zu haben, da in dem Formular komplexe Daten angezeigt werden (z.B. Grunddaten, Termine, Versicherungsdaten, Rechnungsdaten, Druckeinstellungen usw.). Diese Daten werden bereits in mehreren Registern als Unterformular angezeigt. Es kommt oft vor, dass Daten aus mehreren Datensätzen kurz verglichen werden müssen. Wenn ich dann also immer wieder zwischen zwei Datensätzen hin und her switchen möchten ist es umständlich immer wieder einen Datensatz neu zu öffen, da der vorherige gerade geschlossen wurde. Daher die Idee den Datensatz im Formular als Register anzuzeigen (Registername = Kurzzeichen) und gleichzeitig mehrere Register (Datensätze) geöffnet zu haben.

Ich hoffe, ich konnte die Ist-Situation und die Soll-Situation verständlich erklären.

Gruß,
Lars

MzKlMu

#8
Hallo,
jetzt bin ich wieder verwirrt.
Hast Du jetzt eine Registersteuerelement mit Unterformular(en) auf dem Register, oder einzelne Formulare?

Wie bereits gesagt, solltest Du die gefunden Datensätze immer weiter in der Abfrage ergänzen, sodass Du dann z.B. 10 Datensätze hast in denen Du zum Vergleich blättern kannst. Das ist doch einfacher und übersichtlicher als jeweils ein neues Register anzulegen. Und einen Datensatz weiter zu blättern ist doch auch nicht aufwendiger als eine neue Registerseite zu klicken.
Gruß Klaus

tismo

Hallo Klaus,

ist anscheinend doch komplizierter als ich gedacht habe.
Also:

Ist-Zustand:
Ich habe ein Formular (Name: Daten). In diesem Formular ist ein Registersteuerelement mit einigen Unterformularen
Ich kann nur einmal das Formular (Daten) öffnen und kann nur an einen Datensatz arbeiten.

Soll-Zustand
in den Optionen zu Access 2010 habe ich die Dokementfensteroption von überlappende Fenster auf Dokumente im Registerkartenformat (mit Option Dokumentregisterkarten anzeigen) eingestellt. Jedes Formular wird nun als Register dargestellt. Hier nun die erste Frage ob es möglich ist diesen Register-Formularnamen (Daten) durch ein Steuerelement (Kurzzeichen) zu ersetzen und zweitens, ob es möglich ist meherere Registerformulare (Daten) aufzurufen um zwischen den einzelnen Datensätze (basierend auf das Formular Daten) hin und her zu switchen.


MzKlMu

Hallo,
ZitatHier nun die erste Frage ob es möglich ist diesen Register-Formularnamen (Daten) durch ein Steuerelement (Kurzzeichen) zu ersetzen
ja, siehe Antwort von Lachtaube in #6 (nicht gesehen ?).

Was den 2. Teil betrifft, so habe ich da keinen Vorschlag. Du müsstest ja jedes mal ein neues Formular erstellen um das im Register anzeigen zu können. In den Registern werden ja nur existierende Formulare angezeigt. Oder das gleiche Formular als neue Instanz. Aber da habe ich keine Ahnung.
Ich halte das Vorhaben nach wie vor für den falschen Weg und viel zu aufwendig. Du kannst einfach Deine Suche nach und nach um die gefundenen Daten erweitern und dann in den Datensätzen blättern. Das ist einfacher in der Programmierung und genau so einfach in der Handhabung wie die von Dir angedachte Lösung.
Gruß Klaus

Lachtaube

Ist die Frage so zu verstehen, dass Du von einem Formular mehrere Instanzen öffnen willst? Wenn ja - das ist möglich. Andererseits sollte man aber auch die Ressourcen (hinsichtlich Speicherverbrauch, Laufzeitverhalten) im Auge behalten, denn letztendlich siehst Du immer nur ein einziges Formular und im Regstersteuerelement vermutlich auch nur ein Unterformularsteuerelement. Abwägen musst Du das selbst.
Grüße von der (⌒▽⌒)

tismo

Hallo Lachtaube!

wie schaffe ich es, dass mehrer Instanzen geöffnet wrden können?

MzKlMu

Hallo,
warum gehst Du nicht weiter auf meinen Vorschlag ein, die Suche immer weiter um die gefundenen Datensätze zu ergänzen.
Das ist doch viel einfacher in der Umsetzung und in der Handhabung.
Du hast ein Formular in dem Du durch die gefundenen Datensätze blätterst. Auch mit den Registern (mit jeweils einer Formularinstanz) siehst Du doch auch nur einen Datensatz und musst durch klicken blättern.
Bei meinem Vorschlag kannst Du auch einfach mit den Pfeiltasten durch die DS hüpfen.  ;D
Gruß Klaus

tismo

Hallo Klaus,

ich kann mir unter deinen Vorschlag nichts vorstellen. Gib mir bitte einen Ansatz wie ich anfangen soll.