Zum Inhalt springen

Datenübersicht im Formular (Access2000)


Commander_COM

Empfohlene Beiträge

Hallo,

Ich möchte in einem Access2000 Formular mir Daten als große Übersicht in diesem Stil anzeigen lassen:

+Anlage

+Anlage

   |-+Gerät

   |-+Gerät

     |-+Komponente

     |-+Komponente

     |-+Komponente

+Anlage

+Anlage

Lässt sich das irgendwie realisieren?

Also in dem Stil, dass ich dann auf das Plus klicken kann und es mir die zur Anlage gehörigen Geräte und darunter dann die Komponenten anzeigt.

Das beste wäre noch, dass wenn einer dieser Einträge in einer anderen Liste vermerkt ist, dass dieser dann farbig dargestellt wird.

Hat irgendjemand eine Idee???

tHx4UrhLp

Link zu diesem Kommentar
Auf anderen Seiten teilen

Weiß denn niemand Rat? :confused:

Ich brauch das ganz dringend. Ich wäre auch für Vorschläge dankbar, die ähnlicher Natur sind, d.h. die Darstellung kann variieren, je nachdem was in Access 2000 möglich ist. Mir fällt nämlich nix gescheites weiter ein.

An die Moderatoren: Sorry, wenn das als Threadpushing gelten sollte, ich machs auch nie wieder :rolleyes:

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin !

weiss nicht ob Du es noch brauchst, aber es geht, ist nur ein bissel kompliziert. Dafür gibt es ein ActiveX-Steuerelement, das nennt sich "Microsoft Treeview Control Version 6.0". Du findest es im "Einfügen"-Menü unter "ActiveX-Steuerlement..".

Das Problem an der Sache ist, das Du nicht einfach eine Datenquelle wie bei den anderen Steuerelementen angeben kannst, sondern das ganze über VBA füllen mußt. Also gibst Du dem Formular beim "Bei Laden"-Ereignis eine Ereignisprozedur, die das übernimmt. Der Aufbau um einen Knoten hinzuzufügen sieht folgendermaßen aus: (das Treeview-Element heisst tvw_Beispiel)

tvw_Beispiel.Nodes.Add [<übergeordneter Knoten>], [<Verknüpfungsart>], <ID des Knoten>, <Text des Knoten>

für den 1.Level sieht das also z.B. so aus:

Set rst = dbs.OpenRecordset("Kunden")

Do Until rst.EOF

StrOrderKey = "k" & rst!Kundennr

Me!tvw_Best.Nodes.Add , , StrOrderKey, rst!Name

rst.MoveNext

Loop

er öffnet ein Recordset mit Kunden-Informationen ("Kundennr" und "Name") und geht ihn mit der Do Schleife komplett durch. Bei jedem Durchlauf erzeugt er einen Knoten. Da hier die Knoten für den 1.Level angelegt werden, wird der übergeordnete Knoten und die Verknüpfungsart weggelassen. "StrOrderKey" ist eine Variable, die die Kundennr mit einem vorangestelltem "k" enthält. Dies ist nötig, da er für die eindeutige Bezeichnung dieses Knoten keine reinen Zahlen akzeptiert.

Weiter geht es mit dem 2.Level:

Set rst = dbs.OpenRecordset("Bestellung")

Do Until rst.EOF

StrOrderKey = "b" & rst!Bestellungnr

StrParentKey = "k" & rst!Kundennr

Me!tvw_Best.Nodes.Add StrParentKey, tvwChild, StrOrderKey, rst!Datum

rst.MoveNext

Loop

wieder wird ein Recordset geöffnet, diesmal mit allen Bestellungen ("Bestellungnr", "Kundennr" und "Datum") und wieder wird er komplett mit der Do Schleife durchlaufen. Da es sich um Knoten auf dem 2.Level handelt, muss für jeden eindeutig angegeben werden, zu welchem Level1 Knoten er gehört. Dies erfolgt über den String "StrParentKey", der wieder die Kundennr mit einem vorangestellten "k" enthält. Danach muss angegeben werden in welcher Beziehung die beiden stehen, "tvwChild" gibt an, das es sich um ein "Child", einen untergeordneten handelt. Danach wird wie in dem oberen Fall wieder eine eindeutige Bezeichnung durch den String StrOrderKey (Bestellungnr mit vorangestelltem "b") angegeben und schliesslich der angezeigte Wert, in diesem Fall das Bestelldatum.

Das läßt sich so weiterbauen, Du musst halt darauf achten, das Du angibst, welchem Knoten der neue untergeordnet ist, und das jeder Knoten eine eindeutige Bezeichnung (die Buchstaben enthält, nur Zahlen gibt eine Fehlermeldung) erhält.

Sorry für den langen (und späten) Post, aber ich hoffe es hilft Dir weiter !

gruß

Christian

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...