Rocky Smolin - Beach Access Software
bchacc at san.rr.com
Thu Oct 9 12:39:56 CDT 2003
Gustav:
Yeah. But the problem comes before there anyway. It's in the loop.
Rocky
----- Original Message -----
From: "Gustav Brock" <gustav at cactus.dk>
To: "Access Developers discussion and problem solving"
<accessd at databaseadvisors.com>
Sent: Thursday, October 09, 2003 10:09 AM
Subject: Re: [AccessD] File Sharing lock count exceeded
> 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
>
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>