Avatar billede Slettet bruger
27. maj 2009 - 15:48 Der er 8 kommentarer og
1 løsning

Treeview genereret folder struktur

Hej eksperter

Jeg er ved at bygge en database der skal kunne fremstille en given mappe (inklusiv undermapper og filer) i en træstruktur som f.eks. Windows Explorer.

Jeg har pt. lavet det som et treeview, hvor hver gren er en kolonne i en given tabel, men jeg har et problem da antallet af undermapper varierer.

Er der en nem måde at gøre ovenstående på? Alternativt, skal jeg bygge mig en dynamisk forespørgsel der tæller antal mapper og på baggrund af dette splitter en fil sti op i x antal kolonner... Hvis i kan følge mig.

Et hurtigt eksempel på hvad jeg mener:

M:\General Accounting\2009\01. January\Company\Monthend\Bookings\Booking.csv

ovenstående fil skal splittes op i 7 kolonner til mapperne, kolonnen til filnavnet er klaret.

Jeg håber at kunne generere SQL strengen gennem VBA, hvis der altså ikke er en meget mere simpel fremgang som jeg totalt har overset.

På forhånd tak

Jimmi
Avatar billede Slettet bruger
27. maj 2009 - 17:13 #1
Der findes et treview i library 'Microsoft windows Commmon Controls 6.0' - filen hedder mscomctl.ocx i mit system.
Der findes en eksempeldatabase på nettet - træet gemmes i en nodestruktur - tabellayoutet er grundlæggemde.

Node(id,name,val,parent)
Avatar billede Slettet bruger
27. maj 2009 - 17:18 #2
Hej brugerekspert

Jeg er ganske klar over hvordan treeview fungerer, og jeg har også et funktionelt et af slagsen.

Mit problem er i at jeg pt. bruger en statisk tabel som udgangspunkt, hvor jeg gerne vil skifte over til en dynamisk forespørgsel baseret på det fulde filnavn (inklusiv sti), så antallet af undermapper bliver underordnet.
Avatar billede terry Ekspert
27. maj 2009 - 17:31 #3
Before I start, I dont have time to do this for you so this is just an idea you can use if you want.

You only need one table. In the table there is a column for the primary key, fgor example NodeID, Another column for the parent NodeID (ParentNodeID). The idea here is that every record (folder) gets its own NodeIDE and in ParentNodeID you put the NodeID of the parent folder

EG;

NodeID:  = 2
ParentNodeID = 0
FolderName = 'RootFolder'


NodeID:  = 2
ParentNodeID = 1
FolderName = 'SubFolder1 in RootFolder'

NodeID:  = 3
ParentNodeID = 1
FolderName = 'SubFolder2 in RootFolder'

NodeID:  = 4
ParentNodeID = 2
FolderName = 'SubFolder1 in SubFolder1'


Then you have to use code which uses a recursive call to travers down the tree. You should be able to find examples of the code on the web I would think.
Avatar billede Slettet bruger
27. maj 2009 - 17:42 #4
Hej jklin

Uden helt at forstå, hvordan du laver det nu, så virker det ikke hensigtmæssigt med et felt pr. 'gren' - derfor ideen med nodestruktur.

Men ofte kan ting jo laves på flere måder.

Du angiver at henvise til en *.csv fil - men der er ligesom ikke adgang til dit M: drevet her fra ekspertens webside ;)
Avatar billede Slettet bruger
27. maj 2009 - 17:44 #5
brugerekspert, linket til .csv filen er bare et eksempel på de mapper der skulle splittes op.

Terry, jeg tror du har fat i noget der, jeg mixer lige noget kode sammen og ser om det virker. Tak indtil videre :)
Avatar billede Slettet bruger
27. maj 2009 - 19:34 #6
Hvis det er mappper fra filsystemet (ja undskyld, jeg først har fattet det nu), tror jeg du er ude i noget for komplekst - acccess tabel design skal ikke have ansvaret for strukturen, blot have en mængde referencer (det fulde stinavn) til de fil eller mappe resourcer som access programmet evt. vil MERE med, end blot vise dem.
At vise filer og mapper fra filsystemet, er ren funktionalitet - anvendes dataark til visning må de bagvedliggende tabeldata dannes og slettes 'on demand' - filsystemet har ansvaret for mappestrukturen.
Avatar billede Slettet bruger
02. juni 2009 - 13:04 #7
hej brugerekspert

behovet for denne her database ligger i at min chef ønsker et nemt og hurtigt overblik over vores netværksdrev. Vi har så mange filer og mapper/undermapper at Windwos Explorer ikke kan udvide allesammen uden at crashe ret så grusomt.

Jeg har tidligere lavet TreeViews, dog på en helt anden måde, og jeg må beklage at sige at jeg ikke har læst grundigt nok på lektien, og har derfor ikke brugt dem optimalt.

Terry's svar gjorde at jeg satt emig lidt mere ind i det, og jeg har nu en ganske udemærket løsning der looper gennem hele skidtet og stiller det nok så fint op :)

Tak til jer begge
Avatar billede Slettet bruger
02. juni 2009 - 13:05 #8
Terry, smider du lige et svar så du kan få dine point ;)
Avatar billede terry Ekspert
02. juni 2009 - 14:41 #9
here it comes :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Vive - Det Nationale Forsknings- og Analysecenter for Velfærd

Erfaren datamanager med registerkompetencer

Hiper A/S

IT-systemudvikler

Metro Service A/S

Risk & Cyber Security Expert