[AccessD] rsR("order") vs rsR!Order

Stuart McLachlan stuart at lexacorp.com.pg
Mon Aug 1 01:05:44 CDT 2011


The advantage of rs("fieldname") is that it  also allows you to do things like:

If something = true then 
  strField = "field1" 
else 
  strField = "field2"
end if
rs(strField) = strValue.

The disadvantage it that intellisense can't help you and a type can cause errors.

Note that you can also use rs(0), rs(1) etc if you  are a masochist.

As to why it works - the same reason that the same syntax works with other collections such 
as Forms, Reports, References etc.  It's just the way such objects are designed:


References!referencename The referencename argument is the name of the 
Reference object. 
References("referencename") The referencename argument is the name of the 
Reference object. 
References(index) The index argument is the object's numerical position within the 
collection.

-- 
Stuart

On 1 Aug 2011 at 13:28, Darryl Collins wrote:

> Hi guys & Gals,
> 
> Slower day at work today so I was poking around some code they use
> here in my new role and found this syntax when dealing with recordsets
> in Access VBA
> 
> rsR.AddNew
> rsR("order") = rsM("order")
> rsR("sheetname") = rsM("sheetname")
> rsR("sheetnumber") = rsM("sheetnumber")
> rsR.Update
> 
> It is very, ummm, MS Excel in style, but it does work ok and update
> the recordset(s) correctly. However I would have written it like:
> 
> With rsR
>  .AddNew
>       !order = rsM!order
>  !sheetname = rsM!sheetname
>  !sheetnumber = rsM!sheetnumber
>  !Update
> End with
> 
> Not withstanding then with / end with bit.  What is the advantage (if
> any) of one syntax over the other?  Is one method faster? Actually,
> Why does the first syntax even work?  I would have though you would
> have had to use the ! method, but very clearly I am totally wrong on
> that count.
> 
> I had not seen code used like that before for MS Access recordsets. 
> Maybe I need to get out more?
> 
> Your thoughts?
> 
> Cheers
> Darryl
> 
> -- 
> 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