comart
September 14th, 2000, 01:33 PM
I've seen the ! (bang) in several snippets of code. What does it do? What are the rules for using it?
|
Click to See Complete Forum and Search --> : Bang comart September 14th, 2000, 01:33 PM I've seen the ! (bang) in several snippets of code. What does it do? What are the rules for using it? Iouri September 14th, 2000, 02:13 PM You can use bang to access the field in the recordset rs!Field the same you can get as rs.("Field") Iouri Boutchkine iboutchkine@hotmail.com dfwade September 14th, 2000, 04:58 PM please note that the ! in recordset is not a good practise. It is a holdover from dao and ADO is slower to resolve this. In fact, for performance reasons you should always use a with to access multiple fields for example with rs .fields(fld1) .fields(fld2) end with an undocumented feature of ADO is to use with rs .collect(fld1) .collect(fld2) end with I know, I know. It does not show up in intellisense, try it, it works 30% faster TANSTAAFL - There ain't no such thing as a free lunch Rippin September 15th, 2000, 03:59 PM Actually, the bang is not exclusive to the Recordset object(s). The bang serves as a collection lookup. That is why rs!customerId will not cause an error, but will instead search the Fields collection for a field name customerId (of course this is only an example and your code will error if you use the example with a recordset that does not have this field). Try it yourself: Dim colTest as new Collection ' colTest.Add 15, "apples" colTest.Add 30, "oranges" colTest.Add 50, "banannas" ' MsgBox colTest!apples & ", " & colTest!oranges & ", " & colTest!bannanas As we all know, the Collection object does not have the properties apples, oranges or banannas it is simply looking for a matching item in the collection. This proves quite deceiving as it appears that the object has a property named apples and it does not. Hope this is helpful, Rippin codeguru.com
Copyright Internet.com Inc., All Rights Reserved. |