Обзор холстового приложения для Northwind Traders

Узнайте о приложении на основе холста для управления реляционными данными в базе данных Northwind Traders, которую вы установили в своей среде. Затем выполните пошаговые инструкции в последующих разделах, чтобы создать это приложение с нуля, тем самым получив практический опыт работы с реляционными данными.

В этой теме вы узнаете:

  • Как пользователь приложения отображает реляционные данные и управляет ими в приложении.
  • Какие типы данных управляют приложением.
  • Как были созданы связи между этими типами данных.

На одном экране пользователь приложения может отображать, обновлять, создавать и удалять заказы.

Полное приложение на основе холста.

Знакомство с интерфейсом пользователя

В левой части приложения коллекция отображает список заказов, включая номер заказа, состояние, имя клиента и общую стоимость заказа. Пользователь может прокрутить список, чтобы найти заказ, а затем отобразить дополнительные сведения об этом, выбрав стрелку заказа. Дополнительные сведения: создание галереи заказов.

Форма сводки

В правом верхнем углу форма суммирует порядок, выбранный пользователем в коллекции заказов. Сводка содержит большую часть той же информации, что и в коллекции, но сводка также показывает даты создания и оплаты заказа, а также имя и изображение сотрудника, который управлял заказом. Пользователь может изменить данные в форме, сохранить эти изменения, отменить их или удалить заказ, выбрав значок в правой части строки заголовка. Дополнительные сведения: создание формы сводки.

В правом нижнем углу другая галерея отображает информацию о том, какие продукты содержатся в выбранном заказе и в каких количествах. Каждый элемент в этой галерее называется деталью заказа. Пользователь приложения может добавить и удалить любой элемент в этой коллекции с помощью элементов управления и под ним. Дополнительные сведения: Создание детальной галереи.

Определение областей экрана.

Изучение источников данных

Чтобы создать это приложение, вы будете показывать данные из пяти таблиц и набора выбора. На самом деле большинство областей этого приложения отображают данные из нескольких таблиц. Например, коллекция заказов содержит следующие сведения:

  • Номер заказа — это поле в таблице "Заказы ".
  • Состояние является другим полем в таблице "Заказы ", параметром выбора "Состояние заказов ".
  • Имя клиента — это поле в таблице "Клиенты ".
  • Общая стоимость вычисляется на основе данных в таблице сведений о заказе .

Сводка содержит некоторые из тех же сведений, что и список заказов, но также содержит имя и фотографию сотрудника, который управлял заказом. Эта информация извлекается из полей в таблице Employees . В галерее сведений отображаются записи в таблице "Сведения о заказах", а каждый продукт в этих деталях является записью в таблице "Продукты заказа".

Изучение связей

Вы можете отображать данные из разных источников (например, таблиц) в одной коллекции или форме, так как эти таблицы имеют связи, созданные для вас в базе данных.

Отношения "многие к одному"

Например, сведения о клиенте и сотруднике для каждого заказа находятся в таблицах "Клиенты и сотрудники ". Таким образом, таблица "Заказы " имеет связи "многие к одному" с этими таблицами, так как есть много заказов, каждая из которых может быть размещена только одним клиентом и управляется только одним сотрудником.

Каждый заказ также содержит одну или несколько позиций, представляющих продукты, включенные в заказ, и их количество. Каждый элемент строки — это запись в таблице сведений о заказе , которая извлекает сведения о каждом продукте из таблицы "Заказы продуктов ". Каждая деталь определяет только один продукт, но каждый продукт может отображаться в нескольких деталях. Таким образом, таблица "Сведения о заказе " имеет отношение "многие к одному" с таблицей "Продукты заказа ".

Отношения "один ко многим"

Каждый заказ может содержать несколько строк, но каждый элемент строки относится только к одному заказу. Таким образом, таблица Orders имеет отношение "один ко многим" с таблицей "Сведения о заказе ".

Нотация точек для связей

Чтобы отобразить данные на основе связи между таблицами, можно использовать селектор свойств точек для обхода связи между одной таблицей и другой. Например, каждая запись в таблице Orders извлекает сведения из таблицы Customers , чтобы коллекция заказов отображала имена клиентов. В этой коллекции вы настраиваете это поведение, задав свойству Text метки следующее выражение:
ThisItem.Customer.Company

ThisItem указывает запись в таблице "Заказы" и извлекает сведения из таблицы "Клиенты " о клиенте, который разместил заказ. В этом случае выражение указывает, что имя компании клиента отображается. Однако вся запись об этом клиенте извлекается, поэтому вы могли бы с такой же легкостью показать, например, адрес электронной почты этого клиента.

В качестве другого примера перехода от одной таблицы к другой можно указать, что галерея должна отображать записи в одной таблице на основе записи, которую пользователь выбрал в другой галерее, и которая находится в другой таблице. Чтобы отобразить сведения о заказе, необходимо задать для свойства Items коллекции сведений следующее выражение:
Gallery1.Selected.'Order Details'

В этом случае Gallery1.Selected указывает запись в таблице Orders, так же как и в предыдущем примере. Однако это выражение не извлекает только одну запись, как это делало предыдущее выражение. Вместо этого она извлекает всю таблицу записей, чтобы отобразить имя и стоимость каждого продукта (как отражено в таблице "Продукты заказа ") и количество (как отражено в таблице "Сведения о заказе ").

Сделайте сами

Вы можете следовать пошаговым инструкциям для создания приложения на основе холста Northwind Orders. Инструкции разделены на три части:

  1. Создание коллекции заказов.
  2. Создание сводной формы.
  3. Создание коллекции сведений.

Если вы хотите пропустить что-то, решение содержит отправную точку приложения для каждой части. В списке приложений ищите Northwind Orders (холст) — начало части 1 и так далее.