20. Apr 2024, 11:44
VB-fun.de - Beitragsübersicht zum VB-/VBA-Forum-Archiv 0413
  VB6: Flexgrid füllen Subscript out of range
 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.
 Antwort:
 Von wickedmc
 Am 22. September 2008 um 13:20:50
 Antwort Hey,

Danke erstmal für deine Antwort.

Das mit i=i+1 ist natürlich total schwachsinn,

hab ich jetzt auch mitbekommen.
Textmatrix(n) muss es heißen hast völlig recht.

Vielen dank für deine Antwort!
[ VB-/VBA-Forum | Archiv 0413 | Archiv-Übersicht ]
 Antworten
VB6: Flexgrid füllen Subscript out of range - wickedmc 19. September 2008 um 14:30:07
Re: Flexgrid füllen Subscript out of range - Nico 21. September 2008 um 18:09:41
Re: Flexgrid füllen Subscript out of range - wickedmc 22. September 2008 um 13:20:50

Zum Seitenanfang

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB-/VBA-Forum | DirectX | DirectX-Forum | VB.Net | VB.Net-Forum | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum