Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: TK693 am März 07, 2016, 10:49:54

Titel: Felder bzw. Unterformulare ein-/ausblenden
Beitrag von: TK693 am März 07, 2016, 10:49:54
Guten Tag miteinander.

Vorab, ich habe letzten Montag das erste mal eine leere Datenbank in Excel 2007 gestartet, und möchte mir eine recht simple Datenbank aufbauen wo ich ein paar Werte eintragen kann, und mir nachher per Bericht ein Datenblatt zum aktuellen Datensatz drucken lassen kann. Nichts spektakuläres eigentlich. Habe ich auch alles so weit mit YouTube Tutorials und Interneterklärungen hinbekommen.

Nun stehe ich aber bei einem Problem welches mich seit Dienstag verzweifeln lässt.

Ich habe also eine Tabelle, in der ich die verschiedenen Daten eingebe (Alle in der selben Tabelle)

In meinem Formular habe ich dann im Formularkopf ein Feld welches Gruppe heißt. Dort können drei verschiedene Text-Werte stehen. Aufgrund dieser Werte möchte ich dann im Detailbereich nur eins der drei Unterformulare eingeblendet bekommen.

Also zur Übersicht:

Inhalt Gruppe: Tisch oder Stuhl oder Sofa

Namen der Unterformulare: Tischformular oder Stuhlformular oder Sofaformular

Die Datenfelder in den Unterformularen stehen ebenfalls in der selben Tabelle wie alle anderen Werte.

Optional würde es mir auch reichen wenn ich das ganze nicht über Unterformulare aufbaue, sondern die Felder alle in meinem Detailbereich des Hauptformulars einbinde. Ich kann leider nicht sagen welches einfacher umzusetzen ist. Von der Codelänge her vermutlich das mit den Formularen.

Was ich bisher versucht habe:

Rechtsklick auf das Hauptformular ->  Ereignis -> Codegenerator

Microsoft Office Access Klassenobjekt

Form_Hauptformular


Option Compare Database
Option Explicit

Public Function Hauptformular()

If ([Gruppe] = "Tisch") Then
    Me![Tischformular].Visible = True
    Me![Stuhlformular].Visible = False
    Me![Sofaformular].Visible = False
    End If

End Function


Aber leider funtkioniert dies nicht, es ändert sich in meinem Hauptformular einfach nichts. Ich habe auch schon viele andere Sachen getestet aber komme leider nicht zum Ergebnis.

Steinigt mich ruhig, wenn ich etwas komplett versemmelt habe. Ich hoffe aber das mir jemand von euch helfen kann, und sofern möglich, so einfach wie möglich erklären kann. :)

Mit freundlich Grüßen Tim
Titel: Re: Felder bzw. Unterformulare ein-/ausblenden
Beitrag von: MzKlMu am März 07, 2016, 11:13:33
Hallo,
Zitatwenn ich etwas komplett versemmelt habe.
ich denke hier ist das Datenmodell gründlich versemmelt.
3 U-Formulare für 3 Gruppen deuten darauf hin. Was machst Du wenn noch ein 4. Gruppe dazu kommt, noch ein Ufo ? da

Welche Tabellen gibt es und welche Beziehungen ?

Zeige mal ein Bild des Beziehungsfensters.

Zitateine leere Datenbank in Excel 2007 gestartet
Eine Datenbank in Excel, wie geht das ?

Titel: Re: Felder bzw. Unterformulare ein-/ausblenden
Beitrag von: TK693 am März 07, 2016, 11:23:04
Zitat von: MzKlMu am März 07, 2016, 11:13:33
Hallo,
Zitatwenn ich etwas komplett versemmelt habe.
ich denke hier ist das Datenmodell gründlich versemmelt.
3 U-Formulare für 3 Gruppen deuten darauf hin. Was machst Du wenn noch ein 4. Gruppe dazu kommt, noch ein Ufo ? da

Welche Tabellen gibt es und welche Beziehungen ?

Zeige mal ein Bild des Beziehungsfensters.

Zitateine leere Datenbank in Excel 2007 gestartet
Eine Datenbank in Excel, wie geht das ?

Beziehungen gibt es nicht, da die Datenfelder die in den 3 Unterformularen hinterlegt sind in der gleichen Tabelle wie alle anderen Daten stecken. Das heißt ich habe im Endeffekt eine recht lange Tabelle, in der alle Daten für das Tisch-, das Stuhl- sowie das Sofaformular beinhaltet sind. Es sollen dann eben nur die gefüllt werden welche ich benötige.
In der selben Tabelle ist dann auch ein Feld welches Gruppe heißt. Und je nachdem was in dem Feld steht möchte ich dann eben nur das passende Unterformular angezeigt bekommen.

Es war natürlich Access 2007 gemeint :)
Titel: Re: Felder bzw. Unterformulare ein-/ausblenden
Beitrag von: MzKlMu am März 07, 2016, 11:52:54
Hallo,
alles in einer Tabelle ist wirklich versemmelt (sorry, Deine Worte  :D ).
Mindestens sollte es für die Gruppen eine extra Tabelle geben und in der jetzigen Tabelle nur ein Fremdschlüssel zur Gruppe. Wahrscheinlich fehlt aber noch eine weitere Tabelle.

Wenn Du bei deinem jetzigen Aufbau bleiben willst, so sind dann auch keine 3 Ufos erforderlich. Du benötigst ein Ufo das über die Gruppe verknüpft wird. Das Ufo zeigt dann automatisch nur die Daten die zu der Gruppe passen. VBA ist heir gar nicht notwendig.

Erkläre mal genauer den Aufbau der jetzigen Tabelle (Feldnamen) damit man konkrete Vorschläge machen kann.

Ich denke, Deine jetzige Tabelle ist zu sehr Excellike und das passt in einer Datenbank nicht.
Access Tabellen erfordern einen völlig anderen Aufbau als Exceltabellen.
Titel: Re: Felder bzw. Unterformulare ein-/ausblenden
Beitrag von: TK693 am März 07, 2016, 12:01:41
Vielen Dank für deine schnelle Hilfe :)
Ja da erkennt man wohl das ich bisher nur mit Excel wirklich ausgiebig gearbeitet habe :D

Also ich hab das ganze so aufgebaut (um mal weg vom Beispiel zu kommen mit den echten Feldnamen)

Interne Nummer
Herstellernummer
Hersteller
Baujahr
Kunde
Gruppe (und darin werden dann nur die Werte Seil/Motor/Hydraulik aufgeführt)
usw.

und dann kommen eben später in der Tabelle Felder wie:
Motorhersteller (bei Gruppe -> Motor)
Seildurchmesser (bei Gruppe -> Seil)
Zylinderhersteller (bei Gruppe -> Hydraulik oder Motor)

und diese Felder sollen dann nur auftauchen wenn eben die passende Gruppe gewählt ist.
Das ich dafür keine VBA brauche freut mich grade :D Die frage ist nur wie ich es sonst schaffe :)
Titel: Re: Felder bzw. Unterformulare ein-/ausblenden
Beitrag von: MzKlMu am März 07, 2016, 12:17:22
Hallo,
das kannst Du so nicht lassen. Hier sind mehr Tabellen erforderlich
Aber mit usw. lässt sich kein Vorschlag machen.

Bitte lade mal diese eine Tabelle als Exceltabelle hier hoch (alle Felder), mit 1-2 Zeilen als Beispieldaten.
Titel: Re: Felder bzw. Unterformulare ein-/ausblenden
Beitrag von: TK693 am März 07, 2016, 12:32:06
Im Anhang die Tabelle :)
Titel: Re: Felder bzw. Unterformulare ein-/ausblenden
Beitrag von: MzKlMu am März 07, 2016, 14:58:12
Hallo,
diese Tabelle ist als Accesstabelle unbrauchbar, das ist eine Exceltabelle nach Access kopiert, aber das wird nichts.
Ich baue Dir das mal etwas um, wird aber etwas dauern.
Titel: Re: Felder bzw. Unterformulare ein-/ausblenden
Beitrag von: TK693 am März 07, 2016, 15:12:32
Ich weiß gar nicht wie ich dir für diese Hilfe danken soll :)
Allerdings hab ich dann wohl was falsch verstanden :o
Ich habe diese Tabelle aus Access in Excel exportiert, und musste diese dann als .xls speichern um sie hier hochladen zu können. Oder was meintest du mit Tabelle als Exceltabelle hochladen?
Titel: Re: Felder bzw. Unterformulare ein-/ausblenden
Beitrag von: MzKlMu am März 07, 2016, 15:26:05
Hallo,
ich meinte die Tabelle ist als Access Datenbanktabelle unbrauchbar. Die Exceltabelle entspricht dem was ich wollte.
Titel: Re: Felder bzw. Unterformulare ein-/ausblenden
Beitrag von: MzKlMu am März 07, 2016, 20:11:57
Hallo,
so hier hast Du mal was zum Knabbern.
Es gibt jetzt weitere Tabellen. Die Produkttabelle enthält nur die Felder die unabhängig von der Gruppe immer vorhanden sind. Dann gibt es eine Tabelle Merkmale die in Gruppen eingeteilt ist. In einer weiteren Tabelle werden die Merkmale dem Produkt zugeordnet. In diese Tabelle kommt ein Feld für die Einträge. Die Einheiten (L/min, KW, etc.) werden automatisch gezogen.

Ob ich diese Gruppenzuordnung richtig gemacht habe weis ich nicht.
Du musst das Prinzip unbedingt verstehen, das ist unerlässlich.
Der User DF6GL (Franz) hat in seiner Signatur Links zu weiteren Informationen über den Aufbau relationaler Datenbanken. Das musst Du Dir zu Gemühte führen, sonst wird das nichts mit der Datenbank.
Es sind auch noch weitere Tabellen notwendig (Hersteller, Kunde etc.)

Die Daten werden jetzt in einem Hauptformular und darin einem Unterformular für die Merkmale erfasst und angezeigt. Im Ufo werden automatisch nur die zum im Hafo angezeigten Produkt die passenden Merkmale angezeigt.
Bis hierher wurde noch kein Buchstabe VBA benötigt.

Ich habe die DB mangels genauer Info mal Produkte genannt.
Titel: Re: Felder bzw. Unterformulare ein-/ausblenden
Beitrag von: TK693 am März 08, 2016, 09:02:34
Ersteinmal vielen Dank MzKlMu :)
Sobald ich Zeit habe mich dort richtig einzulesen werde ich mich wieder melden :)