|
|
|
|
rst("YES_OR_NO_CONDITION")
rst!YES_OR_NO_CONDITION
|
| |
|
| |
|
|
|
| rst!YES_OR_NO_CONDITION (надежнее rst![YES_OR_NO_CONDITION]) - общепринятый синтаксис обращение к дочернему элементу объекта. В запросах при обращении к полям формы поддерживается только такой синтаксис.
rst("YES_OR_NO_CONDITION") - самое быстрое обращение к элементу дочернего семейства по умолчанию (если явно, то rst.Fields("YES_OR_NO_CONDITION") ). Кроме того такой синтаксис допускает обращение как по имени, так и по индексу элемента в коллекции, в т.ч. и через переменную. К тому же VBA "в нутрях" преобразует Вид1 в Вид2.
Кстати (сам не так давно узнал), у объекта Recordset есть скрытое св-во Collect, представляющее семейство полей, но с единственным св-вом Value. И это самый-самый быстрый способ прочитать/изменить значение в поле. Т.е.:
v = rst.Collect("YES_OR_NO_CONDITION")
или
rst.Collect(0) = v | |
|
| |
|
|
|
| ...
"Оказывается, что "за кулисами" перед выполнением .... синтаксис всегда преобразуется ... (к) скобки с кавычками..."
К. Гетц. стр. 193 | |
|
| |
|
|
|
| Выдержка из книги
Пол Литвин, Кен Гетц, Майк Гунделой
ДЛЯ ПРОФЕССИОНАЛОВ
ACCESS 2002
РАЗРАБОТКА НАСТОЛЬНЫХ ПРИЛОЖЕНИЙ
Если снова обратиться к табл. 5.2, вы увидите, что восклицательный знак все¬гда можно заменить на скобки с кавычками. Например, следующие два операто¬ра обращаются к одному и тому же свойству.
cat.Таbles!tblCustomers.Colums!Address.Type
cat.Tables(“tblCustomers”).Colums(“Address”).Type
Оказывается, что “за кулисами” перед выполнением первого из приведенных операторов его синтаксис всегда преобразуется в соответствии со вторым вари¬антом, то есть вместо восклицательного знака употребляются скобки с кавычка¬ми. Поэтому, используя восклицательный знак, вы несколько повышаете темп ввода, за что расплачиваетесь замедлением выполнения. Мы рекомендуем всегда использовать второй вариант синтаксиса, то есть употреблять скобки с кавычка¬ми для обращения к объектам коллекций. Тем более, если имя объекта содержит пробелы или другие нестандартные символы, в случае применения восклица¬тельного знака вам придется заключить имя объекта в квадратные скобки. Это требование не выдвигается, если выбран второй вариант синтаксиса.
ВНИМАНИЕ-------------------------------------------------------------------------------------------------------
Один из случаев, когда вошклицательный знак необходим, является ссылка на поле формы в параметре запроса. В таком ситуации синтакос Forms!ИмяФормы!ИмяЭлементэУправления использо¬вать нельзя.
СОВЕТ--------------------------------------------------------------------------------------------------------------
Трудно избавиться от привычки обращаться к объектам при помощи восклицательного знака — ведь он использовался с первой версии Access. Но на самом деле есть лишь несколько случаев, в ко¬торых этот оператор необходим (как в параметрах запросов), поэтому советуем вам побыстрее отвы¬кнуть от него. Конечно, следует знать, для чего он предназначен, однако пользоваться лучше скоб¬ками с кавычоми.
Есть и еще одна причина, по которой синтаксис («») предпочтительнее синтак¬сиса !. В скобках вы указываете строковое выражение, которое вполне может быть заменено строковой переменной. Данный прием позволяет определять имя объек¬та, к которому вы обращаетесь, во время выполнения программы. Это очень по¬лезная возможность, и мы не раз использовали ее в примерах настоящей книги. | |
|
| |
|