Moin
Ich verwende VB 6.
Ich habe ein ADODB Recordset, dass von einer SQL-DB gefüttert wird. Was in dem Recordset steht soll in einer Tabelle (MSFlexGrid) dargstellt werden.
Das Problem ist allerdings, dass in der Tabelle auch Grafiken dargestellt werden, weswegen nach ca. 9500 eingelesenen Zeilen VB was von "zu wenig Speicher" meckert. Das Programm nimmt sich zu dem Zeitpunkt laut Taskmanager etwa 60 MB RAM.
Ich möchte, dass die Ausführung trotz des Fehler fortgesetzt wird. Aber mir ist nicht klar, wie das hier funktioniert. Mit ON ERROR habe ich nie gearbeitet. Mir ist daher unklar, wie ich das Programm ändern muss, dass er mit dem weiteren Füttern der Tabelle aufhört und die Sub, in der das steht normal beenden kann.
gekürzter Code:
Ich bedanke mich im Voraus.
Gruß, Laurin
Ich verwende VB 6.
Ich habe ein ADODB Recordset, dass von einer SQL-DB gefüttert wird. Was in dem Recordset steht soll in einer Tabelle (MSFlexGrid) dargstellt werden.
Das Problem ist allerdings, dass in der Tabelle auch Grafiken dargestellt werden, weswegen nach ca. 9500 eingelesenen Zeilen VB was von "zu wenig Speicher" meckert. Das Programm nimmt sich zu dem Zeitpunkt laut Taskmanager etwa 60 MB RAM.
Ich möchte, dass die Ausführung trotz des Fehler fortgesetzt wird. Aber mir ist nicht klar, wie das hier funktioniert. Mit ON ERROR habe ich nie gearbeitet. Mir ist daher unklar, wie ich das Programm ändern muss, dass er mit dem weiteren Füttern der Tabelle aufhört und die Sub, in der das steht normal beenden kann.
gekürzter Code:
Code:
Dim fehlerAufgetreten As Boolean
Cn.Open strcnn ' Verbindung zum SQL-Server öffnen
Set rs.ActiveConnection = Cn
' SQL-Abfrage definieren
rs.Source = "SELECT ..."
rs.Open ' SQL-Statement senden
On Error GoTo Fehler
While Not rs.EOF()
[INDENT]Filtertabelle.AddItem(...)
'...
Set Filtertabelle.CellPicture = LoadPicture("Datei") ' <-- Hier kommt die Fehlermeldung nach etwa 9500 Schleifendurchläufen.
'...
rs.MoveNext[/INDENT]
Wend
If fehlerAufgetreten = True Then MsgBox "Es wurden " & Str(rs.Fields) & " Ergebnisse gefunden. \n" & _
"Leider können nur " & Str(Filtertabelle.Rows) & " angezeigt werden. \n" & _
"Die Programmausführung wird fortgesetzt."
Exit Sub
Fehler:
If Err.Number = 7 Then fehlerAufgetreten = True ' "Zu wenig Speicher!"
Err.Clear
Resume
Gruß, Laurin