Rocky Smolin - Beach Access Software
bchacc at san.rr.com
Thu Oct 9 11:44:40 CDT 2003
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://databaseadvisors.com/pipermail/accessd/attachments/20031009/dcbee8bd/attachment.html>