Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Wie kann man eine Baumstruktur mit Access 2010 realisieren

Begonnen von Accessiv, November 11, 2012, 20:08:13

⏪ vorheriges - nächstes ⏩

Wurliwurm

Hallo Helmut,

wenn Du das Formular ohne Fehlermeldung aurufen konntest, dann war das Treeview schon erfolgreich eingebunden und es ist kein Handlungsbedarf. (Dieses ist nämlich ein Active-X-Steuerelement (MSCOMCTL.OCX), welches man erst verwenden kann, wenn man einen Verweis gesetzt hat)

Mit der völlig freien Hierarchie-Struktur aus dem Beispiel wärst Du am flexibelsten. Die FLZ wären dabei die atomaren Bausteine, welche in beliebig vielen Hierarchien vorkommen könnten. Es wäre also möglich, die einzelnen FLZ zu immer neuen Kursen zu kombinieren. (Auf diese Weise speichert man z.B. auch Stücklisten, man hat zum Beispiel einen Motor und kann diesen in die Einzelteile auflösen bis zur einzelnen Schraube).

Die feste Struktur mit tblRLZ -> tblGLZ und tblGLZ -> tblFLZ wäre da viel weniger flexibel. Ich schreibe im Laufe des Tages zu dem aktuellen Beispiel von Dir.

Grüße
Johannes

Wurliwurm

Hallo Helmut,

vielen Dank für die Besserungswünsche!

Leider scheint hier keiner mehr helfen zu wollen, also mal mein Meinung dazu:

Die Doppelstruktur Lernziele/Unterricht ist nicht praktikabel. Damit sind widersprüchliche Daten schon vorprogrammiert. Zum Beispiel kann eine Unterrichtsphase einem Kurs zugeordnet sein, aber einem inhaltlich ganz anderen Lernzielbereich

Verbesserungsvorschlag:
Unterrichtsphasen und FLZ sind identisch. Das bedeutet, in der Tabelle Unterrichtsphasen ist das Feinlernziel ein (Nichtschlüssel)-Attribut.
Die Tabelle Unterrichtseinheiten beinhaltet eine oder mehrere Unterrichtsphasen (1:n). Dabei sollen alle Werte, die aus den Phasen errechenbar sind, nicht in Unterrichtseinheiten gespeichert werden (zum Beispiel die Dauer der Stunden, drei Phasen à drei Stunden ergeben 9 Stunden, diese 9 Stunden sollen in der Tabelle Einheiten nicht nochmals gespeichert werden).

Das GLZ ist ein Nichtschlüsselattribut der Unterrichtseinheit und das RLZ ein Nichtschlüsselattribut der Kurse.

Mit dieser einfachen dreistufigen Struktur sind jederzeit zum jedem Kurs/RLZ die Unterrichtseinheiten/GLZ und Phasen/FLZ darstellbar. Man kommt völlig ohne rekursive Programmierung aus und kann alles mit Abfragen auswerten und darstellen.

Die Tabelle Lernzielbereich verstehe ich überhaupt nicht. Insbesondere kann ich keine hierarchische Struktur erkennen. In dieser Tabelle könnte der Eintrag Töpferkurs / Grundschritte des Tango / Schacheröffnungen gespeichert werden.

Grüße
Johannes





Accessiv

Hallo Johannes,

vielen Dank für Deine Ausdauer, ich hoffe es geht dir gesundheitlich wieder besser und Du hältst noch ein Weilchen mit mir durch.

Nun zu Deinen Anmerkungen:

Zitat
Unterrichtsphasen und FLZ sind identisch. Das bedeutet, in der Tabelle Unterrichtsphasen ist das Feinlernziel ein (Nichtschlüssel)-Attribut.
Die Tabelle Unterrichtseinheiten beinhaltet eine oder mehrere Unterrichtsphasen (1:n). Dabei sollen alle Werte, die aus den Phasen errechenbar sind, nicht in Unterrichtseinheiten gespeichert werden (zum Beispiel die Dauer der Stunden, drei Phasen à drei Stunden ergeben 9 Stunden, diese 9 Stunden sollen in der Tabelle Einheiten nicht nochmals gespeichert werden).

Ich muss dazu glaube ich an einem konkreten Bsp. noch etwas erklären. Unterrichtsphasen und FLZ sind nicht identisch, in den Unterrichtsphasen - die Teile einer Unterrichtseinheit sind - werden FLZ definiert.

Hier ist ein Beispiel für eine erste Unterrichtsstunde (Unterrichtseinheit) in einem Sprachlehrgang:

1. Unterrichtseinheit (UE):
Groblernziele der 1. UE:
     - Wissen/Können: Teilnehmer (TN) können sich vorstellen und sagen woher sie kommen.
     - Gruppendynamik: TN kennen die anderen TN und deren Erwartungen und Ziele.
     - Lernpsychology: TN können ihre eigenen Ziele für den Kurs benennen und kennen das methodische Konzept des Kurses.
     - Organisation: TN kennen den organisatorischen Rahmen des Kurses.
     
"Wissen/Können, Gruppendynamik, Lernpsychologie und Organisation" sind dabei jeweils der Lernzielbereich des nach dem Doppelpunkt beschriebenen Lernziels.


1. Unterrichtsphase der 1. UE:
1. fremdsprachliche Phase: Einstieg, Präsentation, Kognitivierung

"Einstieg, Präsentation, Kognitivierung" sind dabei die in der Tabelle tblLehrLernPhasen gespeicherten sog. Lehr-/Lernphasen, es können also mehrere dieser Lehr-/Lernphasen einer Unterrichtsphase zugeordnet werden.


     Feinlernziele der 1. Unterrichtsphase in der 1. UE:
     - Wissen/Können: Kursteilnehmer (TN) kennen Redewendungen zum Vorstellen und Begrüßen.
     - Lernpsychologie: TN wissen, dass Unterricht handlungsorientiert und in Fremdsprache stattfindet.
     - Gruppendynamik: TN kennen die Namen der anderen TN und des Kursleiters.
     
2. Unterrichtsphase der 1. UE:
2. fremsprachige Phase: Präsentation, Kognitivierung, Übung

     Feinlernziele der 2. Unterrichtsphase in der 1. UE:
     - Wissen/Können: TN können sagen woher sie kommen und nach dem Wohnort fragen.
     - u.s.w.

Die zweite und alle folgenden (UEs) sind ähnlich aufgebaut wie die erste. Analog würde man hier dann ein oder zwei RLZ für den gesamten Kurs definieren.

Du hast Recht, dass man zur Vereinfachung auf die doppelte Verknüpfung der Lernziele mit dem jeweisl übergeordneten Lernziel einerseits und der Zugehörigkeit zu einem zeitlichen "Kursabschnitt" (UE oder Unterrichtsphase) andererseits verzichten kann. Die FLZ leiten sich zwar aus einem GLZ ab und die GLZ wiederum aus den RLZ, sie sind aber auch - und das ist vielleicht der wichtigere Aspekt - eindeutig einer entsprechenden Hierarchieebene des Kurses (Kurs, UE, Unterrichtsphase) zugeordnet.

Ich habe mein Modell noch einmal angepasst, um dieser einfacheren Struktur Rechnung zu tragen (s. Anhang).

Zitat
Die Tabelle Lernzielbereich verstehe ich überhaupt nicht. Insbesondere kann ich keine hierarchische Struktur erkennen. In dieser Tabelle könnte der Eintrag Töpferkurs / Grundschritte des Tango / Schacheröffnungen gespeichert werden.

Wie Du aus o. a. Bsp. siehst werden Lernziele bestimmten Kategorien (Lernzielbereichen) zugeordnet, von denen es insgesamt acht Stück gibt. Für FLZ ist diese Zuordnung in jedem Fall sinnvoll, für GLZ kann man drüber diskutieren und für RLZ erfolgt die Zuordnung nur selten. Um Redundanzen zu vermeiden, habe ich diese Lernzielbereiche in eine eigene Tabelle ausgelagert.

Wenn Du der Meinung bist, dass das Modell im Anhang so OK ist, werde ich es mal in Access-Tabellen umsetzen. Verbesserungsvorschläge/Fehlerhinweise sind nach wie vor äußerst willkommen.

Grüße Helmut


Accessiv

Sorry hatte bei meinem vorherigen Post den Anhang vergessen. Hier ist er nun dran.

Gruß Helmut

[Anhang gelöscht durch Administrator]

VolkerB

Hallo zusammen,

ich benutze diesen hier: http://www.access-im-unternehmen.de/index1.php?id=300&BeitragID=771 TreeView Konfigurator.

Dieser funktioniert bei mir mit Access 2007  einwandfrei.

Evtl. müsst Ihr Euch einen Testzugang geben lassen, damit Ihr den gesamten Beitrag lesen könnt. Schaut auch mal im Online-Archiv nach anderen Beiträgen über das TreeView nach.

Gute Nacht zusammen.

Volker

Accessiv

Hallo Volker,

vielen Dank für Dein Interesse und Deinen Hinweis. Den Treeview-Konfigurator werde ich bei Gelegenheit mal ausprobieren. Für mein aktuelles Problem habe ich mich aber jetzt entschlossen eine einfachere Struktur zu relalisieren.

Gruß Helmut

dirne

Hallo,
ich würde dieses Thema gern nochmal beleben, da ich vor dem Problem stehe eine Stückliste mit Baugruppen und unterbaugruppen und unter unterbaugruppen ... herzustellen.
Dazu würde mich die Methode mit 2Tabellen interressieren.

Lg
Solange keiner eine Maschine entwickelt, die Raucht, Trinkt und viel Pause macht, ist mein Job nicht in Gefahr. ;0)

Wurliwurm

Zitat von: dirne am August 29, 2015, 20:00:08
Dazu würde mich die Methode mit 2Tabellen interressieren.

Ich habe mir den Thread nochmal durchglesen. Eigentlich steht schon alles drin.

Es gab mal ein Beispiel von mir, daß ich als Demo mit den 2 Tabellen zum Füllen eines Baum-Steuerelements gepostet habe. Es war mit rekursiver Programmierung. Leider ist das Beispiel gelöscht und ich finde es auch nicht mehr auf meinem Arbeitsplatzrechner. Evtl. habe ich zuhause noch eine Kopie.

Ohne ein Grundverständnis von Rekursion und dem Unterschied von Parameterübergabe per Wert/Referenz ist das sowieso schwer zu verstehen. Es ist schon fortgeschrittene Programmierung. Ohne Programmierung geht es aber nicht.

dirne

Hallo,
ZitatEs gab mal ein Beispiel von mir...
Wenn du so ein Bsp. noch finden würdest wäre nicht Schlecht  :o
Mein Vorhaben ist es , eine Materialstückliste anzulegen die zt. mehrstufig sein kann.
zb. BG-O1
     UG-O1.1
     UG-O1.1.1
     UG-O1.1.1.1
     ......

Wenn ich deinen Beitrag richtig verstehe kann man das mit 2Tbl erledigen ???

Lg
Solange keiner eine Maschine entwickelt, die Raucht, Trinkt und viel Pause macht, ist mein Job nicht in Gefahr. ;0)

Wurliwurm

Mit 2 Tabellen kann man das so machen, daß man beliebig viele Hierarchien (~Stücklisten) für die gleichen Stämmsätze modelliert, und außerdem auch noch die Sortierung festlegt. Bei einer Stückliste braucht es allerdings noch ein Feld für die Menge.

Leider habe ich das Beispiel auch nicht mehr auf meinem Computer zuhause gefunden. Wenn ernsthaftes Interesse besteht, will ich das gerne nochmal aufsetzen und als mdb zur Verfügung stellen. Bin allerdings ein paar Tage auf Dienstreise, also vielleicht am Wochenende.

dirne

Hallo,
ich danke dir schonmal für deine Mühe.
Und warte gern bis zum WE. ::)
Lg
Solange keiner eine Maschine entwickelt, die Raucht, Trinkt und viel Pause macht, ist mein Job nicht in Gefahr. ;0)

Wurliwurm

Ich hab das was gebaut. Schau, ob Du es zu Laufen bekommst. Erläuterungen später gerne.

Thor75

#27
Halli Hallo Liebe Leutz,

bin neu hier, ut Hamburch und auf dieses Thema gestoßen.
Ich war auf der Suche nach Ideen für ein kleines Tool welches ich grad am basteln bin.
Etwas ähnliches hatte ich schon mal gebaut, doch dort hatte ich lediglich zwei oder drei
Ebenen zu bestücken. Das hatte ich mit Tabellen und Abfragen gelöst.
War eine ganz schöne Fummelei. Lief/läuft aber gut. :)
Nun war ich auf der Suche nach etwas neuem mit der Möglichkeit quasi unbegrenzt in die Tiefe zu gehen. An dieser Stelle vielen Dank an Wurliwurm für die Beispiel DB.
Ich versuch mich da gerade rein zu fummeln und hab da ein zwei Fragen.
Zunächst einmal bin ich noch nicht ganz hinter die Logik gekommen wie die tblSETLEAF gefüllt wird. Was tun wenn ich mal zwei oder mal drei Ebenen in die Tiefe gehe. Aber das hat wohl mit meiner Ersten Frage zu tun. Dann würde ich noch gerne den gerade angeklickten Knoten per Knopfdruck auslesen und zusammen mit einem Zeitstempel in eine Tabelle schreiben.
Hintergrund ist folgender. Ich bastel gerade an einem Tool mit dem man Prozesszeiten messen kann. Dazu brauch ich verschiedene Kategorien und Unterkategorien. Der Anwender soll auf einen Knopf drücken und es soll eine Stoppuhr für den gerade gewählten Knoten starten. Soweit im groben. Freue mich auf eine angeregte Diskussion, Fragen und Erklärungen.

Als Ergänzung noch dazu. Ein Bild wie ich es mir dann vorgestellt habe (Ist ein altes Projekt von mir). Der Baum wird komplett dargestellt. Also wie man es im Explorer gewohnt ist. Alle Knoten sind beim laden eingeklappt.
Ein echtes Highlight wäre es wenn man per Rechtsklick einen Knoten hinzufügen und man die Breite des Baumes verändern könnte. Je nachdem wieviel Platz man braucht.

Viele Grüße aus Hamburg
Armin

dirne

Hallo Wurliwurm,
wollte es testen, bekomme leider die meldung "in diesen Steuerelement befindet sich kein objekt"  ::) ???
Der code bleibt mit Fehler'2683 in dieser Zeile stehen
Set BaumM = HBaum.Object
Hast du da eine Tip für mich  :-\

Lg
Solange keiner eine Maschine entwickelt, die Raucht, Trinkt und viel Pause macht, ist mein Job nicht in Gefahr. ;0)

Thor75

Moin dirne,

bei mir läufts rund, abgesehen von meinen Verständnisproblemen. :)
Hast Du mal die Verweise geprüft?

Gruß aus HH
Armin