[AccessD] A 97 to A 2010 compile error

Stuart McLachlan stuart at lexacorp.com.pg
Sun Apr 30 18:27:33 CDT 2017


I really doubt that Forms("frmTest")("txtName")  will be any different to  Forms![frmTest]![txtName]
when it comes to run time performance.

Both will be converted to exactly the same PCode when the VBA  is compiled.
 
-- 
Stuart

On 30 Apr 2017 at 15:19, Bob Heygood wrote:

> Hello Jim,
> Yes I'm pretty old school and not kept up on the latest Access
> changes. I must have written that code a long time ago. Good advice on
> explicitly stating the hierarchy of elements and their collections.
> Gotta say though I really hate to use any parenthesis in my coding. I
> was traumatized many times by my errors and grew to dislike them a
> lot, especially when concatenating lines.
> 
> Thanks again,
> 
> Bob
> 
> 
> -----Original Message-----
> From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf
> Of Jim Dettman Sent: Saturday, April 29, 2017 5:07 AM To: 'Access
> Developers discussion and problem solving' Subject: Re: [AccessD] A 97
> to A 2010 compile error
> 
> Bob,
> 
>   You'll find reference checking got a lot tighter in A2007 and up and
>   some
> things that you got away with before you can no longer.  A bang (!)
> indicates that what follows is a element of a collection.  A dot (.)
> means a property, collection, or method name.  Also there were some
> changes made with A2000, which is the addition of default collections,
> that has an impact on references.
> 
>   If you can learn to do it, you can always use this syntax:
> 
>     Set ctl = Forms("frmTest")("txtName")
> 
>     before you would do this:
> 
>     Set ctl = Forms![frmTest]![txtName]
> 
>   Behind the scenes, Access actually translates all your statements to
>   this
> format of parentheses and quotes, so if you use it, there is a bit of
> a performance edge.
> 
>   The above works because the controls collection is the default
>   collection
> for a form.   Normally in the past, you would have had to do:
> 
>   Set ctl = Forms("frmTest").Controls("txtName")
> 
>   I'm still "old school" and use the bang everywhere as even with the
>   ("")
> syntax, querydef parameters that refer to form controls is one place
> where a bang must be used.   There were a couple of others as well,
> but I've forgotten what they were, and I could never keep them all
> straight, so I continued to use the bang.
> 
> Jim.  
> 
> -----Original Message-----
> From: AccessD [mailto:accessd-bounces at databaseadvisors.com] On Behalf
> Of Bob Heygood Sent: Friday, April 28, 2017 05:13 PM To: 'Access
> Developers discussion and problem solving' Subject: [AccessD] A 97 to
> A 2010 compile error
> 
> I am converting an app from A 97 to A 2010.
> I updated the DAO ref already.
> What reference or library am I missing when I get an error :
> Compile Error
> "Method or Data member not found"
> For this line:
> txtTerms_ID = rstTerms.[Terms_ID]
> .[Terms_ID] is highlighted.
> 
> 
> TIA
> Bob
> 
> --
> 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