PDA

Vollständige Version anzeigen : DAO / Objekt


bendigo
16.01.2003, 15:07
hallo leute

habe hier ein kleines problem ich will eine Zahl (Liquiditätstand) pro Zeile neue berechnen, aber er bricht mir immer bei ca. 9400 Sätzen ab. Wenn ich aber eine msgbox nach 9400 Sätzen einbaue und eine weitere nach 18000 Sätzen - schaft er die kompletten 20000. --> wenn ich aber keine msgbox einbaue bringt er die Fehlermeldung "Fehler 3052: Anzahl der Dateisperrung überschritten. (Fehler 3052).

was könnte das sein???

mfg pascal

als anhang habe ich noch den code

INFO:
beim Betriebssystem WIN-NT geht es ohne msgbox --> doch beim WIN2000 schauft er es ohne nicht mehr.
- ich habe ACCESS 2000




Dim DB As DAO.Database
Dim rs As DAO.Recordset
Set DB = CurrentDb
On Error GoTo Liquiditätsstand_err
SQL = "SELECT TempLiquiditätT.Bezahlt, TempLiquiditätT.ReDatZZ, TempLiquiditätT.Beleg, TempLiquiditätT.ReDat, TempLiquiditätT.ReNr, TempLiquiditätT.ZahlBetrag, TempLiquiditätT.Liquiditätsstand"
SQL = SQL & " FROM TempLiquiditätT"
SQL = SQL & " ORDER BY TempLiquiditätT.Bezahlt, TempLiquiditätT.ReDatZZ, TempLiquiditätT.Beleg, TempLiquiditätT.ReDat, TempLiquiditätT.ReNr;"
Set rs = DB.OpenRecordset(SQL, dbOpenDynaset)
rs.MoveFirst
Liquiditätsstandalt = 0
Do Until rs.EOF
rs.Edit
rs!Liquiditätsstand = Liquiditätsstandalt + IIf(IsNull(rs!ZahlBetrag) = False, rs!ZahlBetrag, 0)
Liquiditätsstandalt = rs!Liquiditätsstand
rs.Update
rs.MoveNext
Loop
Liquiditätsstand_exit:
On Error Resume Next
Set rs = Nothing
DB.Close
Exit Function

Liquiditätsstand_err:
DoCmd.Beep
Dim erx
erx = "Fehler " & Err & ": " & Error & " - Der Liquiditätsstand konnte möglicherweise nicht vollständig berechnet werden!"
MsgBox erx, , ""
Resume Liquiditätsstand_exit

Aquarii
16.01.2003, 15:13
Hallo Bendigo,

schau mal, was Microsoft dazu schreibt:

http://support.microsoft.com/default.aspx?scid=kb;de;198633

Sascha Trowitzsch
16.01.2003, 16:27
Der Link von Aquarii ist IMHO halbrichtig.
(Es geht dort ja um Novell-Server, nicht um W2000. Ich glaube deshalb nicht, dass das Erhöhen von MaxLocks das Problem behebt.)

Ich tippe auf das "Opportunistic Locking" von W2000.

Siehe dazu dieses Topic in:
http://support.microsoft.com/default.aspx?scid=kb;en-us;300216

Ciao, sascha