Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Nächste untere Navigationsebene bei mousemove aufklappen

Begonnen von Ferenz71, Mai 19, 2016, 19:07:28

⏪ vorheriges - nächstes ⏩

Ferenz71

Hallo Access-o-Mania,

mitterlweile recherchiere ich volle zwei Tage intensiv ohne sichtlichen Erfolg :'( Ich hoffe hier will mir jemand helfen.
Ich habe drei Navigationsebenen erstellt mit jeweils drei Navigationsbuttons. Nur die erste Navigationsebene soll beim Einstieg in die Accessdatenbank zu sehen sein. Anschlißend möchte ich, dass sobald der User mit dem Mauszeiger über den Button navigiert sich die zweite Navigationsebene mit seinen Navigationsbuttons einblendet. Eigentlich ist das ganz simpel. Der Button muß nur angeklickt werden, dann erscheint automatisch die nächste tiefere Ebene.
Ich habe schon DoCmd.BrowseTo und die Click-Ereignis-Prozedur in der Mousemove-Ereignis-Prozedur ausprobiert. Bin dabei kläglich gescheitert, wodurch ich mich jetzt frage, ob ich nicht vollkommen auf dem Holzweg bin. Mit BrowseTo kann ich wohl nur Formulare oder Reports aufrufen, aber nicht ein anderes Navigationbutton, oder?

Gruß Ferenz

DF6GL

Hallo,

und was erwartest Du von solch einer Kontruktion?
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beaker s.a.

Hallo Ferenz,
Das wird IMO nicht gehen, da es auf dem NaviForm nur EIN Control
gibt, in dem die einzelnen Formulare beim klicken angezeigt werden.
Wenn also z.B. das Form des ersten NaviButtons angezeigt wird, weiss
Access beim zweiten ja nicht, was da angezeigt werden soll, - wird ja
erst beim klicken geladen.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Ferenz71

#3
Hallo DF6GL :) ,
diese verschachtelte Navigationelement-Konstruktion liegt in einem leeren Formular, dass sich beim Starten der Access-Datenbank als Popup öffnet. Das Datenbankfenster wird dabei ausgeblendet. Der Anwender soll beim Start nur dieses sichtbare Popup-Fenster mit den Navigationselementen vor Augen haben. Bis hierin alles kein Problem. Jetzt soll aber die nächst-tiefere Navigationsebene erscheinen, sobald der Mauszeiger über einen Navigationsbutton der ersten Ebene fährt.
Ich hoffe ich konnte Dir den Zweck des Kontruktes näher bringen.
Ich Prinzip soll das Menü von einer Ebene zur nächsten bereits beim Mauszeigerkontakt aufklappen.
Gruß Ferenz
Hallo Beaker s.a  :),
ich weiß nicht genau was Du mit IMO meinst, aber ich habe ein verschachteltes Navigationselemente. Ich benutze also nicht die horizontale oder vertikale Navigationsvorlage, sondern habe die Navigationsbuttons individuell im leeren Formular positioniert. Dadurch kann ich mehr als 3 Navigationcontrols platzieren. Und beim Klickereignis soll der gleiche Navibutton aktiviert werden über das ich auch den Zeiger bewege, denn dann klappt die nächste tiefere Ebene auf. Zumindest stelle ich mir das so vor, weil ich ja das manuell so sehe. Die Formulare will ich in diesem Schritt noch erst gar nicht laden.
Wenn das manuell geht, dann muss es auch vba-technisch funktionieren, oder etwa nicht?
Gruß Ferenz
PS: Ich kann auch gern eine Beispieldatei erzeugen, die ich aber erst am Wochenende erstellen kann.

DF6GL

Hallo,

na, den Aufbau hab ich schon verstanden, nur nicht , was das im Endeffekt (mit den Navi-Steuerelementen) bringen soll..
Den "Zweck" hast Du nicht erläutert.

Ein Navibutton kann höchstens markiert (Setfocus) , aber ein "Mausklick" darauf nicht per Objekt-VBA darauf ausgeführt werden. (Zumindest gibt es nur das Click-Event und keine Click-Methode).

Was gehen könnte, ist den entspr. Button zu markieren (--> Setfocus) und dann ein "Return" mit der Sendkeys-Krücke  abzusetzen.

Trotzdem seh ich keinen Nutzen  darin, mit den geschachtelten Navi-St.El. "vertikal" zu navigieren  (wofür das Navi-St.El. gar nicht entwickelt wurde), was ja nur bedeutet, ein (evtl. gefiltertes) Formular in den  UFO-Bereich des jeweiligen Navi-St.El.  zu laden.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Ferenz71

Hallo DF6GL,

der Zweck ist eine Access-Datenbank für die Leistungsverrechnung einiger Filialen zu erstellen. Die Datenbank soll von internen Usern bedient werden. Die Verrechnungsmethode ist recht umfangreich. Meine Aufgabe ist jetzt ein Navigationstemplate mit mehreren Ebenen zu erstellen, das sich wie ein modernes Navgiationsmenü verhält, sprich die Sub-Menüs sollen sich bereits beim Mauszeiger aufklappen. Zuerst dachte ich die Commandbars wären dafür gedacht, jedoch sind die nur für die Ribbons zuständig und sind nicht mehr aktuell. Deshalb dachte ich wären die geschachtelten Navi-St.El. dafür vorgesehen. Was wäre denn Deiner Meinung in Access nach dafür vorgesehen? Jetzt kann ich mein Skript noch umschreiben, da wir ganz am Anfang stehen.
Gruß Ferenz

MaggieMay

Hallo,
Zitatsondern habe die Navigationsbuttons individuell im leeren Formular positioniert
wenn ich das richtig verstehe, setzt du kein Navigationsformular ein, sondern eine auf Basis von Befehlsschaltflächen erstellte, selbst gebastelte "Navigation".
Was hindert dich daran bei MouseOver das Klick-Ereignis per VBA anzustoßen?

Oder wie ist das mit den "individuell positionierten" Buttons zu verstehen?
Freundliche Grüße
MaggieMay

DF6GL

Hallo,

ich denke eher, er will so etwas Ähnliches wie das Auswahlband hier oben auf der Seite unter dem Access-o-Mania-Logo....

Sowas ist aber in Access standardmäßig nicht vorhanden.

Es wäre aber möglich, sowas selber zusammen zu stricken, z. b. als An- und Untereinander-Reihung von Bezeichnungsfeldern in einem Formular, das man später in das eigentliche Anzeigeformular einbaut.
Die Bezeichnungsfelder werden mit dem MouseMove-Ereignis wechselseitig umgefärbt und sichtbar/unsichtbar geschaltet.

Beim Klick-Ereignis wird die entspr. Aktion ausgelöst.




Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beaker s.a.

Hallo Ferenz,
IMO = In My Opinion - meiner (bescheidenen)  Meinung nach

Ansonsten schliesse ich mich Maggie an, sowohl was das Verständnis
als auch die Lösung betrifft.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Ferenz71

Hallo MaggieMay,
ja genau, es ist kein Navigationsformular, aber es sind verschachtelte Navigationbuttons in einem leeren Formular. Das Klick-Ereignis habe ich ausprobiert und mich gewundert warum es nicht geht. @DF6GL hat dazu eine Erklärung vom Mai 20, 2016, 07:39:56:
ZitatEin Navibutton kann höchstens markiert (Setfocus) , aber ein "Mausklick" darauf nicht per Objekt-VBA darauf ausgeführt werden. (Zumindest gibt es nur das Click-Event und keine Click-Methode).
Das geht wohl nur über die SendKeys-Krücke.
Hallo DF6GL,
Du hast genau ins Schwarze getroffen :D Stichwort "Auswahlband". Die erste Ebene soll horizontal und die folgenden vertikal angeordnet sein. Um ein naheliegendes Beispiel zu zeigen, hier der Link zur Opel-Homepage.http://www.opel.de/
Der erste Punkt ist "Fahrzeuge". Klappt vertikal sofort auf, sobald die Maus den Auswahl-Punkt berührt. Die nächste Ebene klappt dann wiederum vertikal auf und man könnte immer so weiter machen. Dein Vorschlag das Auswahlband und die Subbänder über die Labels zu erstellen ist so simpel wie genial, da die sehr flexibel einsetzbar sind :-) Darauf wäre ich nie gekommen. Ich habe das jetzt auch schon getest. Drei Dinge sind mir noch unklar.
1. Wenn ich alle Labels in der Entwurfsansicht platziere, dann überdecken sich einige zwangsläufig. Je mehr Ebenen, desto mehr Überdeckungen gibt es. Gibt es noch eine andere Möglichkeit um die Überdeckungen zu vermeiden, damit der Entwurf überschaubar ist?
2. Sobald ich das Klick-Ereignis bei einem Label ausgelöst habe, wie lade ich ein Formular in das Hauptformular in dem das Auswahlband steht?
3. Bezüglich Deiner Ausführung:
ZitatEs wäre aber möglich, sowas selber zusammen zu stricken, z. b. als An- und Untereinander-Reihung von Bezeichnungsfeldern in einem Formular, das man später in das eigentliche Anzeigeformular einbaut.
Was meinst Du mit "eigentliche Anzeigeformular"? Ich habe ein paar Labels in einem Formular positioniert. Ich dachte, dass ist mein Hauptformular in dem ich die Unterformulare öffne. Was für ein zusätzliches Formular, das Du als "eigentliche Anzeigeformular" nennst, ist das?
Hallo Beaker s.a.,
Danke für Deine Meinung.

Viele Grüße
Ferenz

MaggieMay

Was genau sind für dich "Navigationsbuttons"?
Könnte es sein, dass es sich um ganz normale Befehls-/Funktions-Schaltflächen handelt?
Freundliche Grüße
MaggieMay

DF6GL

Hallo,

zu 1)

da überdeckt sich doch nichts...  Alle(!)   möglichen Label werden in einer "Matrix"  angeordnet und wie gesagt,  gegenseitig sichtbar/unsichtbar gestellt. Es gibt auch nicht mehrere "Ebenen"..

zu 2)  Es kommt halt darauf an, was für eine Konstruktion das ist. Wenn sich das Ganze an das Standard-Navigationsformular anlehnen soll,  dann platziere im HFO ein UFO-St.-El. und lade darin das akt. anzuzeigende Form.

Me!Ufo_St_El_Name.SourceObject = "frmMeinPassendesForm"


Zu 3) Das "eigentliche Anzeigeformular" ist in diesem Beispiel Dein HFO. Der "Container"  wäre ein Formular, das eben nur die Labels enthält.  Dadurch  kann das "Menüband" auch an anderen Stellen verwendet werden, wenn dieses Form als UFO eingebunden wird.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Ferenz71

Hallo MaggieMay,
unter einem "NavigationButton" verstehe ich eine Befehls-/Funktions-Schaltfläche, die im "NavigationControl"-Objekt eingebetet ist. Ich würde die Schaltfläche nicht als normal bezeichen, da sie zwingend an das "NavigationControl" gekoppelt ist. Die "NavigationControl" ist bereits in einer "Navigationform" eingebunden, sie kann aber auch in einem leeren Formular eingebunden werden.
Hallo DF6GL,
Deine Antwort zu 3. ist interessant. Ich dachte nicht, dass es mehrere Möglichkeiten an Konstruktionen gibt. Da stellt sich mir jetzt eine grundsätzliche Frage über das Konstrukt. Deshalb weiß ich auch nicht welche für mich die geeignetste Konstruktion ist. Es muss sich nicht an das Standard-Navigationsformular anlehnen. Ich hatte damals einfach nur nichts anderes für meine Zwecke finden können. Ich hoffe, Du kannst mir für meiner Entscheidungsfindung ein paar Anhaltspunkte geben. Das Auswahlband, das mehrere Verzweigungen besitzen soll, soll folgende Templates und Aktionen lostreten:
- Template öffnen, um externe Daten zu importieren
- Eingabeformular öffnen
- Template öffnen, um Datenprüfungen auszulösen
- Template öffnen, um Berechnungen auszulösen
- Reports erstellen
- diverse kleinere Aktionen
Anforderungen an die Templates.
- Der Anwender darf immer nur ein Template zur selben Zeit benutzen dürfen.
Arten an Konstruktionen:
- Auswahlband als HFO oder UFO
- Die UFOs als Popup oder im HFO integriert
Viele Grüße
Ferenz

DF6GL

Hallo,

naja, die "Bedien-Oberfläche" zur Steuerung der einzelnen Aktionen musst Du Dir selber ausdenken....

Natürlich gibt es mehrere Methoden, eine Bedien-Oberfläche zu generieren:


Übersichtsform
ganz einfach: mit Kombifeldern die gewünschte Aktion auswählen.
Treeview-St.El.
user-spezifisches Ribbon-Band
F-Tasten-Steuerung
etc.
etc.


Was ist ein "Template"?
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Ferenz71

Hallo DF6GL,

unter einem "Template" habe ich immer eine Eingabe Maske verstanden. Jetzt wo Du fragst habe ich nochmal nachgesehen. Ein "Template" ist wohl eher sowas wie eine Vorlage, oder wie würdest Du sowas nennen? Ich freue mich, wenn Du mich auf den korrekten IT- /Access-Sprachgebrauch hinweist.
Bezüglich meiner Konstruktion. Ich werde ein HFO mit dem Auswahlband erstellen und die Sub-Fenster/-Formulare als Popup öffnen. Beim erstellen ist mir aufgefallen, daß ich kein "Verlassen"-Ereignis habe, wie es im Gegensatz das "Enter" beim eintreten darstellt. Ein Enter-Ereignis gibt es leider nicht beim Label, dafür beim "commandbutton". Gibt es überhaupt eine Möglichkeit alle unteren Labels auszublenden, sobald der Mauszeiger auf eine leere Fläche bzw. auf den obersten Auswahlband zeigt?
Außerdem flakert das Label mit dem mousemove-Ereignis, weil man auch mal ein bischen im Label stoppt und weiterbewegt. Kann ich das Flakern unterbinden?
Viele Grüße
Ferenz