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

Zitat von: dirne am September 06, 2015, 13:34:01
Hallo Wurliwurm,
Hast du da eine Tip für mich  :-\

Ja, Google.  ;)
z.b.
http://www.nirschl-coaching-entwicklung.de/2015/03/15/das-treeview-steuerelement/

Thor75


Wurliwurm

Grüß Gott aus München!  :-)
Zitat von: Thor75 am September 05, 2015, 00:36:00
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.

Es wird zuerst der Wurzelkonten eingefügt, anschließend ein Filter im Recordset gesetzt für alle Kinder dieses Knotens und eine Schleife darüber durchlaufen. Dort wird rekursiv wieder die gleiche Logik angewendet, für Kindeskinder etc. pp. Ich würde das mal mit einer ganz simplen Struktur im Debugging verfolgen.

Die Struktur mit der SETLEAF ist nicht die einzige Lösungsmöglichkeit und nicht der Weisheit letzter Schluß. Sehr praktisch ist sie aber schon, weil man beliebige Hierarchien abbilden kann.

ZitatAber 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.

Das geht durchaus mit dem entsprechenden Klick-Ereignis. Hier bekommt man den Knoten und kann den Key-String auslesen und damit arbeiten.

ZitatEin 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.

Das geht sicherlich mit den entsprechenden Ereignissen, einen Knoten einzufügen. Es gibt viele Anleitungen dazu im Netz. Das Treeview kann auch drag & drop, das geht in die OO-Programmierung rein, aber damit könnte die Hierarchie auch pflegen. Bisher habe ich es aber nicht geschafft, ein Treeview flexibel breit zu machen. Dazu bräuchte es auch eine Splitpane, wo man schmaler und breiter ziehen kann. Eine solche bin ich mir nicht sicher, ob es sie gibt. Access stößt hier ein bißchen an seine Grenzen, andere Plattformen wie etwa Java Swing sind hier viel flexibler.

Bist Du noch dran an dem Thema oder hast Dich bereits für eine andere Lösung entschieden?

Thor75

Moin aus Hamburg,

habe ich noch nicht für eine andere Methode entschieden und bin sehr an dieser interessiert scheint sie mir doch recht praktisch. Würde mich daran versuchen wollen.
Außerdem wollte ich die ANtwort abwarten. ;)
Ich hatte mal was in meinem Sammelsorium wo so ein splitter drin ist. Find es nicht wieder.
Aber man kann sich ja ran tasten.

Hondo

Hallo,
nur so am Rande, man kann mit speziellen Grid-Steuerelemente hervorragend die Baumstruktur abbilden. Kommt eben darauf an was es einem Wert ist, die Teile die was taugen kosten geld und nicht wenig.

Andreas

Thor75

Moin Andreas,

ich hörte davon.
Aber da es sich bei mir mehr oder weniger um mein Hobby handelt mit dem ich gleichzeitig die Arbeit im Büro erleichtere, ist selber basteln angesagt. Budget gibt es keins dafür.
Und Investitionen die nicht wieder raus kommen macht man einfach nicht. :D


dirne

Hallo,
wollte mich nochmal zurück melden,
Also bei mir läuft es jetzt auch  8)
Weiss aber noch nicht wie ich es bei mir einsetzen könnte ???
Es lag wohl an meiner Access 64bit  :-\

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

Anni

Vielen Lieben Dank an Euch alle,
eure Vorarbeit hat mir bisher sehr geholfen.
Ich bin auch an der Stücklistenproblematik dran und benötige mal bitte einen Hinweis, wie das mit der Menge zu handhaben wäre. Es wäre insoweit für mich wichtig, als dass ich noch ein Artikelkonto für die Aufzeichnung von Zu- und Abgängen erstellen muss und die Verbuchung der Einzelkomponenten für die Auswertung des Lagerbestands wichtig ist.
Ein Link würde mich auch schon weiter bringen.

Vielen Dank schon mal
Anni

DF6GL

Hallo,


naja, in der Bewegungstabelle muss neben der Menge (und evtl. der Einheit) auch  ein Feld (Fremdschlüsselfeld für die ID aus der Konto-Tabelle) für das Konto mit geführt werden.

Was ist ein "Artikelkonto"   ? Ein Konto ist normalerweise eine Buchungs-Klassifizierung, auf dem bestimmte Kosten anfallen.

Hat aber mit einer Stückliste zunächst eher nichts zu tun.
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

Wurliwurm

Zitat von: Anni am Oktober 01, 2015, 14:14:09
Ich bin auch an der Stücklistenproblematik dran und benötige mal bitte einen Hinweis, wie das mit der Menge zu handhaben wäre.

Um in einer der Hierarchien (~Stücklisten) die Menge zu haben, wäre die Menge als weiteres Attribut in der Tabelle SETLEAF zu führen. Zum Beispiel Hierarchie Auto mit 4 Rädern.

Um genauer einen Lösungsweg zu finden, bräuchte es eine ausführlichere Beschreibung des Vorhabens, auch mit Zahlenbeispielen.

Anni

Danke Johannes, dass hilft mir schon weiter.

@DF6GL
Ein Artikelkonto ist ein Begriff aus der Lagerverwaltung und vereint in sich den aktuellen Bestand, die Zu- und Abgänge sowie den voraussichtlichen Bestand zum Zeitpunkt X.

Anni

anbei mal ein funktionierendes TreeView mit nur einer Tabelle.
Durch Doppelklick öffnen sich die unteren Ebenen.

Wurliwurm

Zitat von: Anni am Oktober 07, 2015, 15:33:21
anbei mal ein funktionierendes TreeView mit nur einer Tabelle.
Durch Doppelklick öffnen sich die unteren Ebenen.

Das ist die Minimallösung, damit läßt sich aber nur eine Hierarchie/Stückliste abbilden. Insbesondere bei Stücklisten soll aber ein Material in beliebig vielen Stücklisten vorkommen können.

Anni

Ich bin noch dran, für mich ist es jedoch ein Erfolg, schon mal die Abbildung hinbekommen zu haben.
Kannst du mir mal bitte sagen, ob ich gedanklich auf dem richtigen Weg bin?
Ansatz:
In einem zweiten TreeView wird das Vorhandene Material in Gruppen gegliedert (z. B. Bautei, Schraube, Kabel, etc...)
von diesen zweiten TreeView kann dann per Drag an Drop das jeweilige Material in das erste TreeView zum entsprechenden Produkt gezogen werden. Damit aus der Artikelliste (zweites TreeView) das Material nicht "verschwindet" müsste ich wohl das Drag and Drop durch eine Copie and Paste-Funktion ergänzen, oder?
Dann hab ich nur noch das Problem mit den Mengenangaben.
Vielleicht ist es eine Möglichkeit eine Abfrage zu machen, wie oft der Artikel in das Produkt eingehen soll oder man zieht es mehrfach in den TreeView ein rüber und dieser zählt dann die Menge hoch.
Oder gibt es da eine einfachere Lösung, an die ich noch nicht gedacht habe????

Für Ideen und Ansätze bin ich dankbar.

Wurliwurm

Du hast Dir einiges vorgenommen.

Es geht wahrscheinlich schon. Beim ersten Treeview muss das Ereignis startDrag ausprogrammiert werden. Da bekommt man den Node, wo man drauf war, wenn man begonnen hat, mit gedrückter Maustaste zu ziehen. Da muß man sich den Key merken. Verschwinden tut es aus nicht, nur wenn man den Key explizit löscht. Im zweiten Treeview muß dann das Ereignis beim Loslasssen vom Drag ausprogrammiert werden, wo man den Knoten abfragen muß, wo man gerade im zweiten Treeview drauf ist, und dann den vorher gemerkten Key als Kind einfügen. Nicht zu vergessen, daß das auch in der Datenbank persistent gespeichert werden soll.

Wenn das richtig flutschen soll, sind da hunderte Programmierzeilen nötig und richtig Spaß macht das in Access nicht.