Hi,
ich möchte in einem Formular die Steuerelemente nach Tabelleninhalt erstellen. Ziel ist es, ein skalierbares Menü zu erstellen, dem ich über mein Frontend Menüpunkte zufügen oder entfernen kann. Nach dem Inhalt der Tabelle soll sich dann aus einer Spalte das Menü in einem Formular erstellen. Dabei soll jede Zeile einer Spalte ein Steuerelement hervorbringen, z.B. eine Schaltfläche. Ich stelle mir vor, dass die Tabelle wie folgt aufgebaut ist:
tblMenü
ID, Menüname, FormularName
1, Einstellungen, frmEinstellungen
2, Kundenliste, frmKundenliste
Das Fenster Menü soll also pro Zeileneintrag z.B. eine Schaltfläche mit dem Namen BefEinstellungen, der Beschriftung aus tblMenü.Menüname und einem Bei-Klicken-Ereignis hervorbringen. Alle untereinander. Bei Klick auf die Schaltfläche soll das Formular aus tblMenü.Formularname geöffnet werden.
Wichtig ist, dass es KEIN Endlos Formular werden darf. Jede Schaltfläche benötigt ihren individuellen Namen! Das benötige ich, da ich darauf wieder bestimmte Rechte lege und diese jeder Schaltfläche individuell zuweisen muss.
Machbar?
Hallo,
das erinnert mich an das alte Übersichtsformular, das es wohl in neueren Access-Versionen nicht mehr gibt. Anstatt die Buttons mit Rechten zu versehen, könntest du die Rechte in der Steuerungstabelle ablegen und diese entsprechend filtern, so dass automatisch nur die für den aktuellen Benutzer verfügbaren Funktionen zur Anzeige kommen.
Mit dem alten Übersichtsformular konnte ein hierarchisch strukturiertes Funktionsmenü dargestellt werden, es bestand aus maximal acht Buttons, was man für eine Einschränkung halten kann, ich bin aber immer damit ausgekommen. Notfalls legt man es halt auf eine größere Anzahl Buttons pro Menü aus. Das Konzept ist sehr flexibel und ich finde das Übersichtsformular immer noch sehr nützlich - allerdings könnte man ihm evtl. ein moderneres Design verpassen.
PS:
Bin grad mehr oder weniger zufällig auf den folgenden Beitrag gestoßen:
Acc2010 - Fehlender Übersichtsmanager (http://www.ms-office-forum.net/forum/showpost.php?p=1388087&postcount=7)
vielleicht ist er ja auf diesem Umweg immer noch erreichbar. Welche Office-Version setzt du ein?
Hi, danke. Mit 8 Feldern komme ich nicht zurecht. Damit brauche ich das wohl nicht weiter zu verfolgen. Ich müsste via VBA ein Formular im Entwurfsmodus öffnen, dann die Steuerelemente über die Tabelle einfügen und dann anzeigen lassen. Ggf. geht das auch mit Recordset. Ich habe sowas aber noch nie gemacht. Wie ich Access aber mittlerweile kenne, müsste das gehen ::)
Hi,
ZitatMit 8 Feldern komme ich nicht zurecht. Damit brauche ich das wohl nicht weiter zu verfolgen.
wie gesagt, das lässt sich ja erweitern. Du brauchst doch nur die Idee zu "klauen" und das für dich beste daraus zu machen. Die Idee, zur Laufzeit Steuerlemente zu erzeugen, halte ich für nicht empfehlenswert.
Zeig doch mal anhand einer Skizze wie du dir das Formular (bzw. die Varianten) vorstellst, dann findet man sicher eine andere Lösung.
BTW:
ZitatZiel ist es, ein skalierbares Menü zu erstellen
Was verstehst du unter einem "skalierbaren" Formular?
Moin,
Vielleicht geht es mit einem Treeview-Control.
Kann ich aber leider keine Unterstützung anbieten :(
gruss ekkehard
Zitat von: Beaker s.a. am April 22, 2016, 17:04:54
Vielleicht geht es mit einem Treeview-Control.
Auch diesen Ansatz hatte ich schonmal aufgegriffen, fand das Ergebnis aber nicht wirklich überzeugend.
Letztendlich ist es natürlich Geschmacksache, wie man so etwas angeht.
Zitat von: MaggieMay am April 22, 2016, 14:42:22
Was verstehst du unter einem "skalierbaren" Formular?
Skalierbar in der Hinsicht, dass ich das Menüeinträge via Formular hinzufügen, ändern oder löschen kann, ohne das Menüformular selbst bearbeiten zu müssen. Optimal wäre ich könnte Kategorien und entsprechende Unterpunkte anlegen und angeben, welches Formular bei Klick auf den Menüpunkt zu öffnen ist.
Das meine ich mit Skalierbarkeit.
Hallo,
Zitat von: datekk am April 25, 2016, 09:38:30
Skalierbar in der Hinsicht, dass ich das Menüeinträge via Formular hinzufügen, ändern oder löschen kann, ohne das Menüformular selbst bearbeiten zu müssen.
genau das bietet das Access-Übersichtsformular.
PS:
Auszug aus Wikipedia:
ZitatUnter Skalierbarkeit versteht man unter anderem in der Elektronischen Datenverarbeitung die Fähigkeit eines Systems aus Hard- und Software, die Leistung durch das Hinzufügen von Ressourcen – z. B. weiterer Hardware – in einem definierten Bereich proportional (bzw. linear) zu steigern.
In der Betriebswirtschaftslehre dient der Begriff hingegen ganz allgemein zur Bezeichnung der Expansionsfähigkeit eines Geschäftsmodells z. B. durch Übertragung auf neue Märkte oder Franchising.
Es handelt sich dann wohl eher um die Interpretation aus der Betriebswirtschaftslehre. ;-)
Herr Maggie.... wir nehmen es wohl heute ganz genau :o ;D ;D ;D
Sorry, aber wer sucht hier nach Hilfe?