19. december 2003 - 15:20Der er
8 kommentarer og 1 løsning
Jeg vil indlæse hele indholdet af en cd
Jeg vil indlæse hele indholdet af en cd, med direcctory og under direcctory på en database ind i Acces Jeg har skrevet det lille program men den skifter ikke dirrectory. Er der nogen som kan hjælpe mig? Tak ********* Dim dbs As Database Dim strDBName As String Dim rst As Recordset Dim Catalag As String Dim Catalogito As String Private Sub Command1_Click() File1.Path = Dir1.Path For ind = 0 To File1.ListCount - 1 Catalogito = File1.List(ind) Catalag = Catalogito Opdatering Next ind End Sub Private Sub Dir1_Change() File1.Path = Dir1.Path C = Dir1.ListCount D = Dir1.Path End Sub Private Sub Drive1_Change() Dir1.Path = Drive1.Drive File1.Path = Dir1.Path End Sub Private Sub Opdatering() strDBName = "c:\kasseapparat\catalag1\catalag1.mdb" Set dbs = OpenDatabase(strDBName) Set rst = dbs.OpenRecordset("Catalag", dbOpenTable)
With rst .AddNew !CDNr = Text1 !titel = Text2 !Data = Catalag .Update '.MoveNext End With End Sub Private Sub Command2_Click() Unload Me End Sub
En alternativ løsning: 1) Find cdrom drevets bogstav (f.eks. X:) 2) Brug dos-prompten med: dir X:\ /a/s/o > dirs.txt 3) Læs og filtrer/parse indholdet af dirs.txt 4) Slet dirs.txt igen.
Betydningen af "dir X:\ /a/s/o > dirs.txt". Dir: viser indholdet af den mappe man står i, med mindre en sti er angiver (X:\) /a: viser også skjulte og system filer /s: tager også undermapper med /o: sorterer listen i alfabetisk rækkefølge > dirs.txt: smider listen over i filen "dirs.txt".
">" erstatter en evt nuværende fil, med nyt indhold. ">>" tilføjer nyt indhold til eksisterende indhold af filen.
"Find cdrom drev"-kode (indsæt en combobox med navnet "Combo1"):
Dim fs, d, x, volumename Set fs = CreateObject("Scripting.FilesystemObject")
Combo1.Clear
For x = 1 To Drive1.ListCount - 1 Set d = fs.getdrive(fs.GetDriveName(fs.GetAbsolutePathName(Drive1.List(x)))) If d.IsReady Then volumename = " " & d.volumename Else volumename = Empty End If
If d.DriveType = 4 Then Combo1.AddItem UCase(Drive1.List(x)) & volumename Combo1 = Combo1.List(0) Next
Jeg forstår ikke helt problemet - er det du vil ikke bare at loope over alle mapper på CD'en, og smide alle filer ind i databasen? Eller hvad er problemet? Måske bare mig der er dum
I øvrigt, husk Set dbs = nothing Set rst = nothing :o)
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.