[AccessD] File Sharing lock count exceeded

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
>



More information about the AccessD mailing list