Gustav Brock
gustav at cactus.dk
Thu Oct 9 12:09:13 CDT 2003
Hi Rocky You did cut away in the code snip: Set rstTaxRate = Nothing Set rstRecoveryTable = Nothing ? /gustav > Dear List: > I am getting an error in a loop which says: > File sharing lock count exceeded. Increase MaxLocksPerFile registry entry. > I don't think that's the solution. The lock limit should not be exceeded. Somehow I'm not releasing the locks as they're being created. Is there a trick to doing that? It blows at different > counts, too. Sometimes over 70,000 records get processed, sometimes 40,000. > Here's the code: > '******************************************************************************** > Set rstTaxRate = db.OpenRecordset("Select * FROM tblTaxRates") > Set rstRecoveryTable = db.OpenRecordset("Select * FROM tblPrintRecoveryForm") > With rstRecoveryTable > If .BOF = True And .EOF = True Then GoTo GoodBye: > .MoveLast > txtTotalRecords = .RecordCount > .MoveFirst > lngCount = 0 > Do While Not .EOF > lngCount = lngCount + 1 > If lngCount Mod 1000 = 0 Then > txtRecordNumber = lngCount > Me.Repaint > End If > .Edit > If Nz(!fldInvoiceDetailPriceShouldBe) = 0 Then > !PriceError = 0 > !TotalDue = 0 > End If > If Nz(!fldInvoiceDetailPricePaid) < 0 Then > !PriceError = !fldInvoiceDetailPricePaid > !TotalDue = !PriceError * !fldInvoiceDetailQuantity > End If > If !fldInvoiceDetailSalesTax = "Y" Then > ' find tax rate for this invoice date; if not found, tax is zero > rstTaxRate.FindFirst "fldTaxRateStartDate <= #" & !fldInvoiceDate _ > & "# AND fldTaxRateEndDate >= #" & !fldInvoiceDate & "#" > If rstTaxRate.NoMatch = False Then > !SalesTax = !PriceError * rstTaxRate!fldTaxRate > !TotalDue = (!PriceError + !SalesTax) * !fldInvoiceDetailQuantity > End If > End If > .Update > .MoveNext > Loop > End With > '************************************************************************* > Any hints? > MTIA, > Rocky Smolin > Beach Access Software