[AccessD] File Sharing lock count exceeded

Rocky Smolin - Beach Access Software bchacc at san.rr.com
Thu Oct 9 14:15:22 CDT 2003


Erwin:

I closed the table before setting the objects to nothing.  Tried the .fields
approach but, at least in this case, it didn't make any difference in the
time.

I don't think closing the objects is the problem because the error occurs in
the loop before I get to the close.

Regards,

Rocky Smolin
Beach Access Software

----- Original Message ----- 
From: "Erwin Craps" <Erwin.Craps at ithelps.be>
To: "Access Developers discussion and problem solving"
<accessd at databaseadvisors.com>
Sent: Thursday, October 09, 2003 10:58 AM
Subject: RE: [AccessD] File Sharing lock count exceeded


>
>
> Set nothing is not sufficient.
>
> Recordsets/tabls need to be closed to.
>
>    rstTaxRate.close
>    rstRecoveryTable.close
>
>    Set rstTaxRate = Nothing
>    Set rstRecoveryTable = Nothing
>
> Is the correct syntax.
>
> Set nothing terminates the object container but not the underlying
> table. This could result in lock that stay open and is why you sometimes
> can not close access...
>
>
> Also replace !fieldname With .fields("fieldname")
> It sounds funny but your routine will run faster, tell me how much you
> won...
>
>
> >
>
> Erwin Craps
>
> Zaakvoerder
>
> www.ithelps.be/jonathan
>
>
>
> This E-mail is confidential, may be legally privileged, and is for the
> intended recipient only. Access, disclosure, copying, distribution, or
> reliance on any of it by anyone else is prohibited and may be a criminal
> offence. Please delete if obtained in error and E-mail confirmation to
> the sender.
>
> IT Helps - I.T. Help Center  ***  Box Office Belgium & Luxembourg
>
> www.ithelps.be  *  www.boxoffice.be  *  www.stadleuven.be
>
> IT Helps bvba* ** Mercatorpad 3 **  3000 Leuven
>
> IT Helps  *  Phone: +32 16 296 404  *  Fax: +32 16 296 405 E-mail:
> Info at ithelps.be
>
> Box Office **  Fax: +32 16 296 406 **  Box Office E-mail:
> Staff at boxoffice.be
>
>
>
> -----Oorspronkelijk bericht-----
> Van: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] Namens Rocky Smolin -
> Beach Access Software
> Verzonden: donderdag 9 oktober 2003 19:40
> Aan: Access Developers discussion and problem solving
> Onderwerp: Re: [AccessD] File Sharing lock count exceeded
>
>
> 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
> >
>
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> _______________________________________________
> 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