Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Flarchen am Mai 20, 2019, 07:20:33

Titel: Microsoft Access Kontrollkästchen verkleinern
Beitrag von: Flarchen am Mai 20, 2019, 07:20:33
Hallo Leute,

ich habe folgendes Problem. Ich nutze Access 2016 und will mittels Formular einen Bericht erstellen. Soweit so gut.

Ich will den Zustand von einem Gerät mittels mehrere Kontrollkästchen beschreiben, sodass die zuständigen Mitarbeiter nur noch ankreuzen müssen (z.B. Gerät verschlissen, Gerät verrostet etc.)

Die nicht angekreuzten Kästchen möchte ich ausblenden und das klappt auch soweit. Jedoch möchte ich, dass wenn nur das zweite Kontrollkästchen angekreuzt wird dieses an die Stelle des ersten rückt.

Bei Textfelder gibt es die Möglichkeit die Eigenschaft "Verkleinern" auf True zu setzen um diesen Effekt zu erreichen. Jedoch habe ich diese Eigenschaft nicht bei den Kontrollkästchen gefunden. Vielleicht gibt es eine Möglichkeit dies per VBA zu Programmieren?

Ich hoffe ich habe mich verständlich ausgedrückt und ihr könnt mir helfen.

Vielen Dank.

Viele Grüße Flarchen
Titel: Re: Microsoft Access Kontrollkästchen verkleinern
Beitrag von: MzKlMu am Mai 20, 2019, 08:24:13
Hallo,
Ja/Nein Felder zum Anhaken von Zuständen sind für eine Datenbank ungeeignet.
Hier sind 3 Tabellen erforderlich.
- Garäte
- Zustand
- ZustandGerät

In der 3 Tabelle wird der Zustand des Gerätes per Kombifeld ausgewählt.
Die Ja/Nein Felder entfallen ersatzlos. Dein Problem gibt es dann auch nicht mehr.

Siehe hierzu:
http://allenbrowne.com/casu-23.html
Titel: Re: Microsoft Access Kontrollkästchen verkleinern
Beitrag von: PhilS am Mai 20, 2019, 08:42:11
Zitat von: MzKlMu am Mai 20, 2019, 08:24:13
Ja/Nein Felder zum Anhaken von Zuständen sind für eine Datenbank ungeeignet.
Für die Datenstruktur stimme ich hier zu.

Allerdings finde ich die Zuordnung der Zustände in einem Formular über eine ComboBox in der M:N-Tabelle für eine kleine Anzahl an vordefinierten Zuständen nicht besonders benutzerfreundlich. Da würde auch ich zur Darstellung in der GUI die Checkboxen vorziehen.
Leider ist die alternative Darstellung in Access nur recht komplex mit VBA zu Lösen. Sprich; man müsste die ComboBoxen ungebunden erstellen und per VBA ihrer Werte aus der Tabelle lesen bzw. in diese schreiben.
Titel: Re: Microsoft Access Kontrollkästchen verkleinern
Beitrag von: Flarchen am Mai 20, 2019, 08:42:56
Hallo Klaus,

vielen Dank für deine schnelle Antwort.
Diese Option habe ich bereits in Erwägung gezogen aber wieder verworfen, da es für die ausfüllenden Mitarbeiter als zu umständlich eingestuft wurde.
Ich möchte es so einfach wie möglich halten.

Im Prinzip werden die Eingaben in den Kontrollkästchen auch nirgends gespeichert. Das Gerät soll bewertet werden, der Bericht wird erzeugt und per Mail als PDF verschickt. Anschließend werden die Felder wieder geleert.

Mein einziges Problem sind jetzt noch die Lücken im Bericht, da sich die Kontrollkästchen nicht verkleinern lassen.

Gruß Flarchen
Titel: Re: Microsoft Access Kontrollkästchen verkleinern
Beitrag von: Maxel am Mai 20, 2019, 12:40:56
Probiere mal, im Ereignis des Detailbereichs "Beim Formatieren"

Me.Visible = [DeinKontrollkästchen]
Titel: Re: Microsoft Access Kontrollkästchen verkleinern
Beitrag von: Flarchen am Mai 20, 2019, 13:16:43
Hallo Maxel,

diesen Code verwende ich schon. Aber leider löst er mein Problem nicht. Ich zeige mal in Bildern was ich meine:
1. Ich habe verschiedene Eigenschaften zur Verfügung, die von den Mitarbeitern angeklickt werden sollen.
2. Beim Druck sollen nur die ausgewählten angezeigt werden, allerdings gebündelt (ähnlich der Eigenschaft "Verkleinerbar" bei Textfeldern. Leider funktioniert das nicht bei Kontrollkästchen. Hier ist eine Lücke zwischen den angekreuzten Kontrollkästchen (Siehe Bild 2)
Titel: Re: Microsoft Access Kontrollkästchen verkleinern
Beitrag von: MzKlMu am Mai 20, 2019, 13:23:42
Hallo,
Du musst per VBA die Kästchen verschieben.
Das ist allerdings eine ziemliche Pfriemelei, weil ermittelt werden muss, wie viele Kästschen dazwischen liegen um dann entsprechend zu verschieben.
Einmal sind 2 Kästchen dazwischen und beim nächsten mal 4. Da wirst Du zu Hirsch um alle Zustände abzubiden. Ich habe dazu aber nix parat.

Ich würde in jedem Fall einen Aufbau mit 3 Tabellen vorziehen und damit dann die gewünschte Darstellung zu realisieren.
Mit (VBA) Aufwand kannst Du auch mit Hakenfeldern in die von mir vorgeschlagene 3. Tabelle schreiben, wie von Philipp auch schon vorgeschlagen.
Titel: Re: Microsoft Access Kontrollkästchen verkleinern
Beitrag von: Beaker s.a. am Mai 20, 2019, 15:16:03
Hallo Klaus,
So pfriemelig ist das IMO nicht.
- eine Hilfstabelle mit den Koordinaten jeder Position plus einer Warte-
position
- eine Schleife durch die Felder, wenn angehakt werden die zugehörigen
Controls an die Koordinaten der mitgezählten Position geschoben, wenn
nicht, unsichtbar an die Warteposition
gruss ekkehard
Titel: Re: Microsoft Access Kontrollkästchen verkleinern
Beitrag von: Flarchen am Mai 20, 2019, 15:22:32
Zitat von: Beaker s.a. am Mai 20, 2019, 15:16:03
Hallo Klaus,
So pfriemelig ist das IMO nicht.
- eine Hilfstabelle mit den Koordinaten jeder Position plus einer Warte-
position
- eine Schleife durch die Felder, wenn angehakt werden die zugehörigen
Controls an die Koordinaten der mitgezählten Position geschoben, wenn
nicht, unsichtbar an die Warteposition
gruss ekkehard
Hallo Ekkehard,

vielen Dank für die Antwort. Hierzu habe ich allerdings noch eine Frage.

Wie bestimme ich die Koordinaten in der Tabelle? Kann ich die auslesen oder muss ich die selbst bestimmen?
Oder hast du ein Beispiel für die Zuweisung?

Vielen Dank
Gruß Flarchen
Titel: Re: Microsoft Access Kontrollkästchen verkleinern
Beitrag von: DF6GL am Mai 20, 2019, 15:42:26
Hallo,

warum denn verschieben?

Einige KK-Felder als Platzhalter einbauen und unsichtbar stellen.

Sodann mit einer Schleife über die angehakten KKs  die Platzhalter-KKs nacheinander sichtbar stellen und die Beschriftung entspr. dessen Bedeutung anpassen.
Titel: Re: Microsoft Access Kontrollkästchen verkleinern
Beitrag von: Beaker s.a. am Mai 21, 2019, 15:32:42
@Flarchen
ZitatKann ich die auslesen oder muss ich die selbst bestimmen?
Wo willst du die denn auslesen? Wie/wo die Kästchen angeordnet sein
sollen weisst doch nur du. Die Abstände zwischen vorigem Label und
nachfolgender Checkbox würde ich mit dem längsten Label berechnen.
gruss ekkehard