Von |
wickedmc |
Am |
19. September 2008 um 14:30:07 |
Frage |
Hallöchen,
hab da mal wieder ein Problem.
Und zwar hab ich ein Programm das rekursiv nach Videodateien sucht. Wenn er welche findet das werden diesen in ein Flegrid angezeigt und auf Wunsch in eine DB gespeichert. Funktzioniert zwar alles super, doch will ich es verbessern indem nur noch NEU gefunde Dateien angezeigt werden.
Das wollte ich so realisieren das alle gefundenen mit den existierenen in der DB verglichen werden und wenn sie in der db vorhanden sind werden sie nicht angezeigt.
Hier meine Function zum suchen in der DB:Private Function pfadfinden() Dim dbfile As String dbfile = App.Path + ("\db\datenbank.mdb") Dim db As dao.Database Set db = Workspaces(0).OpenDatabase(dbfile) Dim rst As dao.Recordset Set rst = db.OpenRecordset("Videos") Dim i As Long Dim t As Long Dim n As Long n = 1 MSFlexGrid1.TextMatrix(0, 0) = "Nr." 'Spalten bezeichnen MSFlexGrid1.TextMatrix(0, 1) = "Titel" 'Spalten bezeichnen MSFlexGrid1.TextMatrix(0, 2) = "Pfad" 'Spalten bezeichnen For i = 0 To m_lngFileCount - 1 'anzahl gefundener dateien rst.MoveFirst For t = 0 To rst.RecordCount - 1 'Anzahl der vorhandenen Datensätze If m_astrFiles(i) = rst.Fields(2) Then ' Wenn gefundener Dateiname = Dateiname In der DB dann... titel = Split(m_astrFiles(i), ".avi") 'avi abschneiden titel1 = Split(titel(0), "\") 'Titel abschneiden Dim arrayanzahl As String arrayanzahl = UBound(titel1) 'letztes Stück herausbekommen i = i + 1 MSFlexGrid1.Rows = n MSFlexGrid1.TextMatrix(i, 1) = titel1(arrayanzahl) 'Hier kommt der ' Fehler MSFlexGrid1.TextMatrix(i, 2) = m_astrFiles(i) MSFlexGrid1.TextMatrix(i, 0) = i + 1 n = n + 1 GoTo weiter Else If Not rst.EOF Then rst.MoveNext Else GoTo weiter End If End If Next weiter: Next End Function Wenn ich das proggi nun laufe lasse kommt immer bei der ersten eintragung ins Flexgrid: Subscript out of Range..
Ich habe absolut keine Ahnung mehr woran das liegen kann...
Vielen dank für eure Hilfe. |
|