Свойства объектов
Свойства Object предоставляют общие сведения об объектах, содержащихся в области навигации.
Свойства Object доступны для всех объектов в базе данных Microsoft Access и только для форм, макросов, модулей и отчетов в проекте Access (ADP).
Setting
Вы можете просмотреть свойства Объекта и задать свойства Description или Attributes следующими способами:
- Щелкните объект в окне База данных. На вкладке Работа с базами данных в группе Показать и скрыть щелкните Лист свойств.
- Щелкните правой кнопкой мыши объект в окне База данных и выберите пункт Свойства в контекстном меню.
Вы также можете указать или определить свойства объекта в базе данных Access с помощью Visual Basic . Свойства объекта проекта Access (ADP) недоступны в Visual Basic.
Можно только ввести или изменить свойства Description и Attributes . Другие свойства объекта задаются Microsoft Access и доступны только для чтения.
Замечания
Объекты, для которых можно отобразить свойства в окне Базы данных, — это таблицы, запросы, формы, отчеты, макросы и модули. Каждый класс объектов в базе данных представлен отдельным объектом DAO Document в коллекции контейнеров DAO. Например, коллекция Containers содержит объект Document , представляющий все формы в базе данных.
В окне База данных доступны следующие свойства объекта .
Свойство | Описание |
---|---|
Name | Это имя объекта и содержит параметр из свойства Name объекта. |
Тип | Это тип объекта. Типы объектов Microsoft Access: Form, Macro, Module, Query, Report и Table. |
Description | Это описание объекта и совпадает с параметром свойства Description объекта. Можно также задать свойство Description объекта на странице свойств объекта. |
Created | Это дата создания объекта. Для таблиц и запросов это свойство совпадает со свойством DateCreated . |
Modified | Это дата последнего изменения объекта. Для таблиц и запросов это свойство совпадает со свойством LastUpdated . |
Owner | Это владелец объекта . Дополнительные сведения см. в разделе Свойство Owner . |
Атрибуты | Это свойство указывает, является ли объект скрытым или видимым и можно ли реплицировать объект в реплике базы данных. Если задать для атрибута Hidden значение True (установив флажок Скрытый ), объект не будет отображаться в окне База данных. |
Чтобы отобразить скрытые объекты в области навигации, нажмите кнопку Microsoft Office и выберите Пункт Параметры доступа. Выберите категорию Текущая база данных , а затем выберите Параметры навигации. Щелкните Показать скрытые объекты и нажмите кнопку ОК.
Пример
В следующем примере используется подпрограмма PrintObjectProperties для вывода значений свойств объекта Object в окно Отладка. Для подпрограммы в качестве аргументов требуется тип объекта и имя объекта.
Dim strObjectType As String Dim strObjectName As String Dim strMsg As String strMsg = "Enter object type (e.g., Forms, Scripts, " _ & "Modules, Reports, Tables)." ' Get object type. strObjectType = InputBox(strMsg) strMsg = "Enter the name of a form, macro, module, " _ & "query, report, or table." ' Get object name from user. strObjectName = InputBox(strMsg) ' Pass object type and object name to ' PrintObjectProperties subroutine. PrintObjectProperties strObjectType, strObjectName Sub PrintObjectProperties(strObjectType As String, strObjectName _ As String) Dim dbs As Database, ctr As Container, doc As Document Dim intI As Integer Dim strTabChar As String Dim prp As DAO.Property Set dbs = CurrentDb strTabChar = vbTab ' Set Container object variable. Set ctr = dbs.Containers(strObjectType) ' Set Document object variable. Set doc = ctr.Documents(strObjectName) doc.Properties.Refresh ' Print the object name to Debug window. Debug.Print doc.Name ' Print each Object property to Debug window. For Each prp in doc.Properties Debug.Print strTabChar & prp.Name & " = " & prp.Value Next End Sub
См. также
- Форум для разработчиков Access
- Помощь при работе с Access на support.office.com
- Помощь при работе с Access на answers.microsoft.com
- Форумы Access на UtterAccess
- Справочный центр (FMS) для разработки и VBA программирования для Access
- Публикации по Access на StackOverflow
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Объекты
Как мы знаем из главы Типы данных, в JavaScript существует 8 типов данных. Семь из них называются «примитивными», так как содержат только одно значение (будь то строка, число или что-то другое).
Объекты же используются для хранения коллекций различных значений и более сложных сущностей. В JavaScript объекты используются очень часто, это одна из основ языка. Поэтому мы должны понять их, прежде чем углубляться куда-либо ещё.
Объект может быть создан с помощью фигурных скобок с необязательным списком свойств. Свойство – это пара «ключ: значение», где ключ – это строка (также называемая «именем свойства»), а значение может быть чем угодно.
Мы можем представить объект в виде ящика с подписанными папками. Каждый элемент данных хранится в своей папке, на которой написан ключ. По ключу папку легко найти, удалить или добавить в неё что-либо.
Пустой объект («пустой ящик») можно создать, используя один из двух вариантов синтаксиса:
let user = new Object(); // синтаксис "конструктор объекта" let user = <>; // синтаксис "литерал объекта"
Обычно используют вариант с фигурными скобками <. >. Такое объявление называют литералом объекта или литеральной нотацией.
Литералы и свойства
При использовании литерального синтаксиса <. >мы сразу можем поместить в объект несколько свойств в виде пар «ключ: значение»:
let user = < // объект name: "John", // под ключом "name" хранится значение "John" age: 30 // под ключом "age" хранится значение 30 >;
У каждого свойства есть ключ (также называемый «имя» или «идентификатор»). После имени свойства следует двоеточие «:» , и затем указывается значение свойства. Если в объекте несколько свойств, то они перечисляются через запятую.
В объекте user сейчас находятся два свойства:
- Первое свойство с именем «name» и значением «John» .
- Второе свойство с именем «age» и значением 30 .
Можно сказать, что наш объект user – это ящик с двумя папками, подписанными «name» и «age».
Мы можем в любой момент добавить в него новые папки, удалить папки или прочитать содержимое любой папки.
Для обращения к свойствам используется запись «через точку»:
// получаем свойства объекта: alert( user.name ); // John alert( user.age ); // 30
Значение может быть любого типа. Давайте добавим свойство с логическим значением:
user.isAdmin = true;
Для удаления свойства мы можем использовать оператор delete :
delete user.age;
Имя свойства может состоять из нескольких слов, но тогда оно должно быть заключено в кавычки:
let user = < name: "John", age: 30, "likes birds": true // имя свойства из нескольких слов должно быть в кавычках >;
Последнее свойство объекта может заканчиваться запятой:
let user =
Это называется «висячая запятая». Такой подход упрощает добавление, удаление и перемещение свойств, так как все строки объекта становятся одинаковыми.
Объект, объявленный как константа, может быть изменён
Объект, объявленный через const , может быть изменён.
const user = < name: "John" >; user.name = "Pete"; // (*) alert(user.name); // Pete
Может показаться, что строка (*) должна вызвать ошибку, но нет, здесь всё в порядке. Дело в том, что объявление const защищает от изменений только саму переменную user , а не её содержимое.
Определение const выдаст ошибку только если мы присвоим переменной другое значение: user=. .
Есть ещё один способ сделать константами свойства объекта, который мы рассмотрим в главе Флаги и дескрипторы свойств.
Квадратные скобки
Для свойств, имена которых состоят из нескольких слов, доступ к значению «через точку» не работает:
// это вызовет синтаксическую ошибку user.likes birds = true
JavaScript видит, что мы обращаемся к свойству user.likes , а затем идёт непонятное слово birds . В итоге синтаксическая ошибка.
Точка требует, чтобы ключ был именован по правилам именования переменных. То есть не имел пробелов, не начинался с цифры и не содержал специальные символы, кроме $ и _ .
Для таких случаев существует альтернативный способ доступа к свойствам через квадратные скобки. Такой способ сработает с любым именем свойства:
let user = <>; // присваивание значения свойству user["likes birds"] = true; // получение значения свойства alert(user["likes birds"]); // true // удаление свойства delete user["likes birds"];
Сейчас всё в порядке. Обратите внимание, что строка в квадратных скобках заключена в кавычки (подойдёт любой тип кавычек).
Квадратные скобки также позволяют обратиться к свойству, имя которого может быть результатом выражения. Например, имя свойства может храниться в переменной:
let key = "likes birds"; // то же самое, что и user["likes birds"] = true; user[key] = true;
Здесь переменная key может быть вычислена во время выполнения кода или зависеть от пользовательского ввода. После этого мы используем её для доступа к свойству. Это даёт нам большую гибкость.
let user = < name: "John", age: 30 >; let key = prompt("Что вы хотите узнать о пользователе?", "name"); // доступ к свойству через переменную alert( user[key] ); // John (если ввели "name")
Запись «через точку» такого не позволяет:
let user = < name: "John", age: 30 >; let key = "name"; alert( user.key ); // undefined
Вычисляемые свойства
Мы можем использовать квадратные скобки в литеральной нотации для создания вычисляемого свойства.
let fruit = prompt("Какой фрукт купить?", "apple"); let bag = < [fruit]: 5, // имя свойства будет взято из переменной fruit >; alert( bag.apple ); // 5, если fruit="apple"
Смысл вычисляемого свойства прост: запись [fruit] означает, что имя свойства необходимо взять из переменной fruit .
И если посетитель введёт слово «apple» , то в объекте bag теперь будет лежать свойство .
По сути, пример выше работает так же, как и следующий пример:
let fruit = prompt("Какой фрукт купить?", "apple"); let bag = <>; // имя свойства будет взято из переменной fruit bag[fruit] = 5;
…Но первый пример выглядит лаконичнее.
Мы можем использовать и более сложные выражения в квадратных скобках:
let fruit = 'apple'; let bag = < [fruit + 'Computers']: 5 // bag.appleComputers = 5 >;
Квадратные скобки дают намного больше возможностей, чем запись через точку. Они позволяют использовать любые имена свойств и переменные, хотя и требуют более громоздких конструкций кода.
Подведём итог: в большинстве случаев, когда имена свойств известны и просты, используется запись через точку. Если же нам нужно что-то более сложное, то мы используем квадратные скобки.
Свойство из переменной
В реальном коде часто нам необходимо использовать существующие переменные как значения для свойств с тем же именем.
function makeUser(name, age) < return < name: name, age: age // . другие свойства >; > let user = makeUser("John", 30); alert(user.name); // John
В примере выше название свойств name и age совпадают с названиями переменных, которые мы подставляем в качестве значений этих свойств. Такой подход настолько распространён, что существуют специальные короткие свойства для упрощения этой записи.
Вместо name:name мы можем написать просто name :
function makeUser(name, age) < return < name, // то же самое, что и name: name age // то же самое, что и age: age // . >; >
Мы можем использовать как обычные свойства, так и короткие в одном и том же объекте:
let user = < name, // тоже самое, что и name:name age: 30 >;
Ограничения на имена свойств
Как мы уже знаем, имя переменной не может совпадать с зарезервированными словами, такими как «for», «let», «return» и т.д.
Но для свойств объекта такого ограничения нет:
// эти имена свойств допустимы let obj = < for: 1, let: 2, return: 3 >; alert( obj.for + obj.let + obj.return ); // 6
Иными словами, нет никаких ограничений к именам свойств. Они могут быть в виде строк или символов (специальный тип для идентификаторов, который будет рассмотрен позже).
Все другие типы данных будут автоматически преобразованы к строке.
Например, если использовать число 0 в качестве ключа, то оно превратится в строку «0» :
let obj = < 0: "Тест" // то же самое что и "0": "Тест" >; // обе функции alert выведут одно и то же свойство (число 0 преобразуется в строку "0") alert( obj["0"] ); // Тест alert( obj[0] ); // Тест (то же свойство)
Есть небольшой подводный камень, связанный со специальным свойством __proto__ . Мы не можем установить его в необъектное значение:
let obj = <>; obj.__proto__ = 5; // присвоим число alert(obj.__proto__); // [object Object], значение - это объект, т.е. не то, что мы ожидали
Как мы видим, присвоение примитивного значения 5 игнорируется.
Мы более подробно исследуем особенности свойства __proto__ в следующих главах Прототипное наследование, а также предложим способы исправления такого поведения.
Проверка существования свойства, оператор «in»
В отличие от многих других языков, особенность JavaScript-объектов в том, что можно получить доступ к любому свойству. Даже если свойства не существует – ошибки не будет!
При обращении к свойству, которого нет, возвращается undefined . Это позволяет просто проверить существование свойства:
let user = <>; alert( user.noSuchProperty === undefined ); // true означает "свойства нет"
Также существует специальный оператор «in» для проверки существования свойства в объекте.
"key" in object
Свойства объекта
Системные свойства – это свойства объекта, спроектированные и настроенные разработчиками системы ELMA. Например, уникальные идентификаторы объекта. Данные свойства также могут быть автоматически добавлены, если в карточке объекта на вкладке Дополнительные ус тановить флажки Иерархический и/или Поддержка импорта-экспорта. Системные свойства не могут быть изменены или удалены. В списке они отображены зеленым цветом.
Свойства, унаследованные от базового класса – это свойства, которые были унаследованы от родительского (базового) объекта. Родительский объект в этом случае может являться как системным, так и пользовательским. Данные свойства не могут быть изменены или удалены в текущем объекте, но могут быть изменены или удалены в родительском (базовом) объекте (если это не системное свойство). В списке данные свойства отображены синим цветом.
В том случае, если свойства наследуются от других унаследованных ранее свойств (синего цвета), то свойства, унаследованные на 2 уровне и выше, в списке будут отображены серым цветом.
Пользовательские свойства – это свойства объекта, спроектированные и настроенные в Дизайнере ELMA с учетом требований каждой конкретной компании. При этом существует возможность создавать пользовательские свойства по умолчанию с предустановленными параметрами (только для пользовательских объектов). Данные свойства могут быть изменены и/или удалены. В списке пользовательские свойства отображены черным цветом.
Свойства объекта
Объект — это общее название любого предмета, живого существа, явления, события.
Свойства объекта – это его размер, форма, цвет, назначение, элементный состав, действия и так далее.
Совокупность свойств объекта называют его характеристикой.
Определите объект по его характеристике:
Маленькая, летает, жужжит, имеет острое жало,собирает мёд.
Красивая, семицветная, выгнута дугой.
Продолговатой формы, рисует, хранится в пенале.
Самостоятельно дайте характеристику какому-нибудь объекту (придумайте загадку).
Дайте характеристику рыбе.
Дайте характеристику осеннему дождю.
Содержимое разработки
СВОЙСТВА ОБЪЕКТА
Учитель информатики
ГБОУ СОШ №3 г.о. Чапаевск
Писарева А.И.
это общее название любого предмета, живого существа, явления, события.
- Свойства объекта – это его размер, форма, цвет, назначение, элементный состав, действия и так далее.
СОВОКУПНОСТЬ СВОЙСТВ ОБЪЕКТА НАЗЫВАЮТ ЕГО ХАРАКТЕРИСТИКОЙ
- Определите объект по его характеристике:
- Маленькая, летает, жужжит, имеет острое жало,
- Красивая, семицветная, выгнута дугой.
- Продолговатой формы, рисует, хранится в пенале.
- Самостоятельно дайте характеристику какому-нибудь
- объекту (придумайте загадку).
Дайте характеристику рыбе.
Дайте характеристику осеннему дождю.
СВОЙСТВА ОБЪЕКТА МОГУТ УКАЗЫВАТЬ НА:
- Местом обитания
- Внешним видом
- Цветом
- Размером
- Возрастом
- Профессией
- Внешним видом
- Возрастом
- Характером
- Интересами
- Местом жительства
- Проявлением
- Причиной возникновения
- Последствиями
- Какими свойствами обладает книга? Расскажи про свою любимую книгу.
- Назови несколько объектов со свойством «круглый».
- Приведи пример характеристики маленького мальчика.
Каждый объект имеет множество свойств. Совокупность свойств – характеристика объекта. Свойство объекта указывает на его размер, форму, цвет, назначение, элементный состав, действия и многое другое. Узнать объект можно только по совокупности его свойств.
ДОМАШНЕЕ ЗАДАНИЕ
-75%