Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Особенности разработки или изменения запросов в сетевой среде




Если вы откроете запрос и начнете изменять его структуру, а в это время другой пользователь изменит структуру запроса до сохранения внесенных вами изменений, то Microsoft Access выведет на экран сообщение о том, что структура запроса была изменена. В этом случае имеется выбор, заменить новую версию своей версией или сохранить свою версию под другим именем. Если в то время, пока вы меняете структуру запроса, другие пользователи используют этот запрос для просмотра данных, они не увидят изменения структуры запроса, пока не закроют и снова не откроют запрос.

 

{ewc HLP95EN.DLL, DYNALINK, "Связь с Web или другими источниками":"acconConsiderationsEditingQueriesMultiuserEnvironmentSW":1:"Foo":"Invisible"}

Способы объединения данных из нескольких таблиц или запросов в запросе

Запросы удобно использовать для объединения или выполнения действий над данными, расположенными в нескольких таблицах или запросах. Например, необходимо просмотреть данные о клиенте, а также заказы, которые он разместил. Для получения этих сведений необходимо получить данные из таблиц «Клиенты» и «Заказы».

При добавлении в запрос нескольких таблиц или запросов необходимо убедиться, что их списки полей соединены друг с другом линией объединения, что позволяет Microsoft Access определить тип объединения.

 

Если таблицы в запросе не соединены прямо или косвенно друг с другом, то для Microsoft Access остается неизвестным, какие записи связаны с какими, и на экране отображаются все комбинации записей между двумя таблицами (это называется «полное объединение» или «декартово произведение»). Таким образом, если таблица содержит 10 записей, то в результате запроса будет 100 записей (10X10). Также время выполнения запроса очень увеличится, а полученные в конечном счете результаты будут не столь значительны.

Если же ранее в окне «Схема данных» были созданы связи между таблицами, то при добавлении связанных таблиц в режиме конструктора линии объединения выводятся на экран автоматически. Если необходима целостность данных, то над линией объединения автоматически отображается цифра «1», означающая, что таблица находится на стороне «один» в отношении связей «один-ко-многим», а также знак целостности для указания таблиц, находящихся на стороне «многие».

Если связи не были созданы, то при добавлении в запрос двух таблиц, содержащих поля с одинаковым или совместимым типом данных, а также если одно из объединенных полей является ключевым, то связи будут созданы автоматически. В этом случае символы «один» и «многие» отображены не будут, так как целостность данных не требуется.

Иногда таблицы, добавляемые в запрос, не содержат полей, которые могут быть объединены. В этом случае рекомендуется создать одну или несколько дополнительных таблиц или запросов, которые будут служить в качестве моста между таблицами, данные которых должны быть использованы. Например, если в запрос добавить таблицы «Клиенты» и «Заказано», то между ними не будет линии связи, так как они не содержат полей, которые могут быть объединены. А таблица «Заказы» связана с обеими таблицами. Таким образом, таблицу «Заказы» можно включить в запрос, тем самым обеспечив связь между указанными двумя таблицами.

 

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

Если требуется выделить записи, основанные на значении из объединенного поля, которое больше, меньше, не равно, равно, больше или равно или меньше или равно значению из другого объединенного поля, необходимо в режиме SQL создать инструкцию SQL.

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

 

{ewc HLP95EN.DLL, DYNALINK, "Связь с Web или другими источниками":"acconBringingTogetherDataFromMoreThanOneTableInQuerySW":1:"Foo":"Invisible"}

Объединение нескольких таблиц и запросов в запросе

·В режиме конструктора запроса переместите с помощью мыши поле из списка полей одной таблицы или запроса в соответствующее поле (поле, имеющее одинаковый или совместимый тип данных, содержащее похожие данные) из списка полей другой таблицы или запроса.

При использовании этого типа объединения из обеих таблиц или запросов выбираются записи, только если значения объединенных полей равны.

 

Примечания

·Числовые поля могут быть объединены, только если свойство Размер поля (FieldSize) имеет значения Байт (Byte), Целое (Integer) или Длинное целое (Long Integer).

·Тип объединения можно изменить таким образом, что из таблицы или запроса будут выбраны все записи, не зависимо от того, содержит ли вторая таблица или запрос соответствующие им записи. Для получения дополнительных сведений нажмите кнопку.

 

{ewc HLP95EN.DLL, DYNALINK, "Связь с Web или другими источниками":"achowJoinMultipleTablesInQuerySW":1:"Foo":"Invisible"}

Изменение типа объединения между таблицами или запросами в запросе

1 Откройте запрос в режиме конструктора.

2 Дважды щелкните кнопкой мыши на линии объединения между двумя списками полей таблиц или запросов.

 

3 В диалоговом окне Параметры объединения выберите необходимый параметр и нажмите кнопку OK.

Для получения примеров различных типов объединений и их воздействия на результаты запроса нажмите кнопку.

Примечания

·Установленный по умолчанию тип объединения таблиц можно изменить в окне «Схема данных». Для получения дополнительных сведений нажмите кнопку.

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

 

{ewc HLP95EN.DLL, DYNALINK, "Связь с Web или другими источниками":"achowChangeTypeJoinBetweenTwoTablesInQuerySW":1:"Foo":"Invisible"}

Объединение двух копий одной и той же таблицы в запросе

При объединении двух копий одной и той же таблицы пользователь создает самообъединение, объединяющее записи одной и той же таблицы, если соединенные поля содержат соответствующие значения. Например, имеется таблица «Сотрудники», в которой для каждого сотрудника в поле «Отчитывается» вместо имени указан код ее или его менеджера. Самообъединение можно использовать для отображения в записи каждого сотрудника имени менеджера.

1 В режиме конструктора запроса дважды добавьте таблицу в запрос.

2 Создайте объединение. Для этого переместите поле из списка полей первой таблицы в соответствующее поле в списке полей другой таблицы.

Примечания

·Для получения сведений о том, как выполнить самообъединение в указанном выше примере, нажмите кнопку.

·В имя таблицы во втором списке полей автоматически добавляется «_1». Например, если таблица «Сотрудники» была добавлена дважды, то в первом списке полей она будет называться «Сотрудники», а во втором - «Сотрудники_1». Переименовать таблицу так, чтобы ее название было более описательным, можно, установив для списка полей свойство Псевдоним (Alias). Для получения дополнительных сведений нажмите кнопку.

 

{ewc HLP95EN.DLL, DYNALINK, "Связь с Web или другими источниками":"achowJoinTwoCopiesSameTableSW":1:"Foo":"Invisible"}

Удаление линии объединения между таблицами или запросами в запросе

·В режиме конструктора запроса выберите линию объединения и нажмите клавишу DEL.

 

Примечание. Можно предотвратить автоматическое создание объединений между таблицами в запросе. Для получения дополнительных сведений нажмите кнопку.

 

{ewc HLP95EN.DLL, DYNALINK, "Связь с Web или другими источниками":"achowDeleteJoinLineBetweenFieldListsInAQuerySW":1:"Foo":"Invisible"}

Разрешение и запрет автоматических объединений между таблицами или запросами в запросе

Даже если связи между таблицами не были созданы пользователем, то при добавлении в запрос двух таблиц, содержащих поля с одинаковым или совместимым типом данных, а также если одно из объединенных полей является ключевым, связи будут созданы автоматически. Это автоматическое объединение можно разрешить или запретить.

1 В меню Сервис выберите команду Параметры.

Подсказка

2 Перейдите к вкладке Таблицы/Запросы.

3 Установите или снимите флажок Автоматическое объединение.

Примечания

·Если автоматическое объединение было запрещено, пользователь сам может создавать объединение.

·Данный параметр относится только к новым запросам.

 

{ewc HLP95EN.DLL, DYNALINK, "Связь с Web или другими источниками":"achowEnableDisableAutomaticJoinsBetweenTablesAddedToQueriesSW":1:"Foo":"Invisible"}




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 367; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.021 сек.