Neuigkeiten:

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

Mobiles Hauptmenü

Entwurfmodus Übersichtlichkeit

Begonnen von zoulhh, Dezember 09, 2016, 14:02:21

⏪ vorheriges - nächstes ⏩

zoulhh

Hallo zusammen,

Szenario: 4 Felder an der exakt gleichen Position. Ich blende sie - je nach Bedingung - ein oder aus sodaß immer nur ein Feld sichtbar ist.

Im Entwurfsmodus sind - logischerweise - aber alle Felder sichtbar und sehr unübersichtlich zu editieren, designen und zu erreichen. Besonders, wenn es nicht nur vier Felder sondern mehr sind.

Gibt es da einen Trick auch im Entwurfsmodus nur bestimmte Felder zu sehen?

Danke und LG

Mick


MzKlMu

Hallo,
solche Vorhaben sind fast immer ein Hinweis auf ein falsches Datenmodell besonders wenn es noch mehr sind. Was steht dann in den 4 Feldern ?
Und ist immer nur eines dieser Felder sichtbar, auch wenn es mehr sind ?
Gruß Klaus

zoulhh

Hallo Klaus,

danke für Deine Antwort. Es geht simpel gesagt um so etwa wie:

Dropdown "Bestellung,Reklamation"

Wenn Bestellung, dann wird das Feld "Adresse eingeben" sichtbar. Wenn Reklamation, dann wird das Feld "Bestellnummer" sichtbar.

Ist jetzt nur ein blödes Beispiel, aber im Grunde ist es das.

DF6GL

Hallo,

ZitatGibt es da einen Trick auch im Entwurfsmodus nur bestimmte Felder zu sehen?


wäre wohl ein sinnloser Trick...   ::)




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

MzKlMu

#4
Hallo,
ZitatWenn Bestellung, dann wird das Feld "Adresse eingeben" sichtbar. Wenn Reklamation, dann wird das Feld "Bestellnummer" sichtbar.
Bestellungen und Reklamationen sind in getrennten Tabellen zu führen. Die Reklamationstabelle erhält einen Fremdschlüssel zur Bestellung.

Das Vorhaben ist nur unzureichend erklärt und das Beispiel wenig hilfreich. Du das ja 4 Felder (und mehr) die sich gegenseitig ausschließen. Sonst würden sie ja nicht übereinander liegen. Hier fehlt mit ziemlicher Sicherheit noch mindestens eine Tabelle, eher mehr.
Gruß Klaus

zoulhh

Zitat von: MzKlMu am Dezember 09, 2016, 17:16:23
Hallo,
ZitatWenn Bestellung, dann wird das Feld "Adresse eingeben" sichtbar. Wenn Reklamation, dann wird das Feld "Bestellnummer" sichtbar.
Bestellungen und Reklamationen sind in getrennten Tabellen zu führen. Die Reklamationstabelle erhält einen Fremdschlüssel zur Bestellung.


Es geht weder um Tabellen noch Reklamationen. Es geht darum, ob man überlappende Felder in Formularen komfortabler editieren kann. Ich möchte hier keine Grundsatzdiskussion über Warenwirtschaft oder Datenbankstrukturen starten.

Danke für Eure Gedanken. Ich setze das Thema auf "beantworten" und frickel mich dann mal weiter durch.

LG
Mick

MzKlMu

Hallo,
mit dem Auswahlkombi im Eigenschaftsfenster kannst Du ja jedes Steuerelement gezielt anwählen. So lässt sich leicht jedes finden und editieren auch wenn sie übereinander liegen.

ZitatIch möchte hier keine Grundsatzdiskussion über Warenwirtschaft oder Datenbankstrukturen starten.
Vieleicht kämen ja verblüffend einfache Lösungen dabei raus.

Gruß Klaus

crystal

Hallo Mick,
auch wenn du das Thema bereits als "beantwortet" markiert hast, hier ein paar Ideen, weil ich solche "seltsamen" Fragen mag...

1. Du kannst jedes Feld im Eigenschaften-Fenster per Namen auswählen, denn das Feld unmittelbar oberhalb des Tab-Controls (Format, Daten, Ereignis...) ist ein Pulldown-Menu (hat Klaus auch eben geschrieben).
2. Du kannst die Felder im Entwurfs-Modus etwas versetzt anlegen und erst zur Laufzeit (Form_Load) die Position setzen. Dabei würde es z.B. ausreichen, die linke Position zu korrigieren, wenn alle Felder bei "oben",  "Breite" und "Höhe" gleich sind. Das wäre auch möglich, wenn du deine Bedingungen für sichtbar/unsichbar prüfst.
3. Du könntest statt mehrerer Felder ein ungebundenes benutzen und zur Laufzeit (Form_Current oder wenn du die Bedingungen prüfst) deine Inhalte zuweisen.

Vielleicht hilft's - wenn es auch eine etwas komische Anforderung ist...

lg
crystal

Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

zoulhh

Zitat von: crystal am Dezember 09, 2016, 19:30:11

Vielleicht hilft's - wenn es auch eine etwas komische Anforderung ist...

lg
crystal

Hey Crystal,

vielen Dank für Deine Mühe. Das sind gute Ideen. Ich verstehe immer noch nicht, warum die Anforderung so ungewöhnlich ist. :-) Aber ich bin auch nicht besonders gut in Access oder VBA und muss dennoch damit arbeiten. Das klappt auch ganz gut wenngleich Könner auf dem Gebiet ob meiner Formulare und VBA Code sich sicher die Haare raufen würden.

LG

Mick

MzKlMu

Hallo,
ZitatIch verstehe immer noch nicht, warum die Anforderung so ungewöhnlich ist. :-)
weil das bei einer korrekt normalisierten Tabellenstruktur nicht notwendig ist. Nach meiner Auffassung fehlt hier mindestens eine Tabelle.
Siehe meine Antwort in #4.
Aber Du willst ja keine Grundsatzdiskussion zum Datenmodell.
Gruß Klaus

PhilS

Zitat von: zoulhh am Dezember 23, 2016, 10:52:05Ich verstehe immer noch nicht, warum die Anforderung so ungewöhnlich ist. :-)
Zusätzlich zu den potenziellen Problemen im Datenmodell, auf die hier schon hingewiesen wurde, ist dein Vorhaben auch im Bezug auf das User-Interface-Design zumindest fragwürdig.

Es ist für Benutzer einer Anwendung tendenziell verwirrend, wenn in einem Formular an einer bestimmten Position, abhängig von der jeweils aktuellen Situation, völlig verschiedene Informationen/Inhalte angezeigt werden. - Schlechtes UI-Design.

Insgesamt liegt die Vermutung nahe, dass es für dein Gesamtproblem eine wesentlich bessere Lösung gibt, als eine große Anzahl von Steuerelementen übereinander zu legen.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

zoulhh


Ja, das stimmt. Es leuchtet mir ein, dass es verwirrend ist, wenn sich das Formular - je nach z.B. Thema - verändert.

Kurz: Wie würdest Du das lösen? Außer über mehrere Formulare.

LGM

MzKlMu

Hallo,
ZitatWie würdest Du das lösen?
mit einem korrekten Datenmodell. Siehe meine Antwort in #4.

Solche Anforderungen sind so gut wie immer ein Hinweis auf ein falsches Datenmodell.

Vielleicht denkst Du doch mal über eine Änderung nach.
Abhängigkeiten eines Datenfeldes von anderen Feldern sind über die Beziehungen abzubilden und nicht über Bedingungen. Das ist einer der Grundregeln von Datenbanken.

Hier in diesem Beitrag (anderes Forum) sollten auch Felder ausgeblendet werden.
http://www.ms-office-forum.net/forum/showthread.php?t=338316
Schaue es Dir mal an, es sind 2 Seiten.
Gruß Klaus

PhilS

Zitat von: zoulhh am Dezember 24, 2016, 10:57:49Kurz: Wie würdest Du das lösen? Außer über mehrere Formulare.
Ich weiß bisher nicht viel über den konkreten Hintergrund, daher nur ein paar allgemeine Ideen. Außerdem habe ich nicht die geringste Information zu deinem Datenmodell, also beschränkte ich mich auf das Thema UI-Design.

Wenn für den Benutzer klar ist, dass es ein und dasselbe Formular ist, würde ich alle betreffenden Felder immer sichtbar positionieren aber diejenigen, die in einer bestimmten Situation nicht sinnvoll verwendbar sind, deaktivieren. Damit ist für den Benutzer die Situation klarer. Das Feld ist da, wo er es erwartet, aber er kann es nicht verwenden. Andernfalls artet das schnell in Verwirrung und eine unproduktive Suche aus. - "Wo war das nochmal...."

Wenn für den Benutzer der Kontext immer ein anderer ist, hast du mehr Freiheiten in der Gestaltung und kannst Felder auch komplett ausblenden. Dann sollte man den Fokus auf das Wesentliche legen und nur das anzeigen, was aktuell relevant ist.
Auch dein ursprünglicher Ansatz mit 4 Feldern übereinander mag dann sinnvoll sein. Du musst dann im Entwurf damit klarkommen, dass sie schwieriger zu bearbeiten sind. In diesem Fall kann es sinnvoll sein, die relevanten Eigenschaften für die betroffenen Steuerelemente weitgehend per Code einzustellen.

Auch mehrere Formular, die du pauschal ablehnst, können durchaus eine sinnvolle Lösung sein, wenn du sehr verschiedene Sichtweisen auf denselben Sachverhalt abbilden willst. Wichtig ist dabei, dass du die gleiche Funktionalität möglichst in ein allgemeines (Klassen-)Modul auslagerst und nicht immer wieder neu implementierst.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor