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