ПОНЯТНО О Visual Basic NET (том 3)

       

Запросы к базе данных


Посмотрим, как находить в базе данных нужную информацию. Удобнее всего применять для этого так называемые запросы.

Простой запрос. Пусть нам нужно в таблице «Книги» найти все книжки толще 200 страниц. Для этого в окне базы (Рис. 24.1) в списке Объекты выберите Запросы, а затем выберите Создание запроса в режиме конструктора. Появившееся окно (Рис. 24.8) спрашивает, к какому источнику данных делается запрос.

Рис. 24.8

У нас нет других источников, кроме таблицы «Книги», поэтому выбираем его и нажимаем кнопки Добавить, а затем Закрыть. Мы видим перед собой окно конструктора запроса (Рис. 24.9).

Рис. 24.9

В строке Поле мы выбираем те поля, которые хотим видеть в запросе. Как видите, мы не пожелали утомлять глаза лицезрением полей Код и Data. В строке Условие отбора мы указываем условие (критерий) отбора записей в запросе. В нашем случае мы пишем под полем  Kol_str  условие  >200.

Закрываем окно крестиком. Access предложит вам сохраниться. Соглашайтесь. В открывшемся окне введите имя запроса, например, «Толстые книги» и нажмите ОК. Запрос создан. В знак этого в Запросах появится значок этого запроса. Сделайте по нему двойной щелчок и можете наблюдать в окне запроса результаты (Рис. 24.10).

Рис. 24.10

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

Закройте запрос. Снова перейдите в Таблицы и зайдите в таблицу «Книги». Добавьте какую-нибудь толстую книгу, закройте таблицу и снова откройте запрос. Он изменился, включив в себя новую книжку. Таким образом, запросы автоматически пересоздаются при их открытии.



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

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


Из запроса вы можете переходить в его конструктор и обратно подобно тому, как вы переходили из таблицы в ее конструктор и обратно.

Еще один запрос. Создайте еще один запрос – «Старые книги». Его конструктор вы видите на Рис. 24.11.



Рис. 24.11

Условие приказывает отобразить в запросе все книги, изданные раньше 1960 года. Обратите внимание, что в строке Сортировка  в поле Data я выбрал сортировку По убыванию, поэтому в окне запроса самые старые книги будут внизу.

Указав в новом конструкторе запроса в поле Data условие #30.09.1848#, мы получим в результате в окне запроса единственную книжку – «Белые ночи» Достоевского.

Указав в новом конструкторе запроса в поле Avtor условие "Стругацкие", мы получим в результате в окне запроса две книжки Стругацких.

Сложный запрос. Условие отбора может быть сложным, включать в себя знаки сравнения, логические операции, функции языка Visual Basic for Applications и имена полей в квадратных скобках.

Условия можно писать одновременно под несколькими полями. В этом случае они считаются соединенными логической операцией And. Так, если в новом запросе мы в поле Data напишем условие   >#01.01.1960#,  а в поле  Kol_str   условие  <200,  то этот запрос вполне можно будет назвать «Новые тонкие книжки».

В строке Поле мы можем вместо имен полей писать выражения, например, [Kol_str]+2.  В этом случае в столбце запроса мы увидим не значение поля, а значение вычисленного выражения. На таблице это не отразится.

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


Содержание раздела