Как работать в программе аксесс

В современном мире человеку приходится сталкиваться с огромными массивами однородной информации. Эту информацию необходимо упорядочить каким-либо образом, обработать однотипными методами и в результате получить сводные данные или разыскать в массе конкретную информацию. Этой цели служат базы данных. Используя Microsoft Office Access, который входит в пакет офисных приложений Microsoft Office, вы можете самостоятельно создать базу данных.

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

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

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

Access для начинающих. Урок 1: Интерфейс

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

О ключах мы поговорим подробнее в соответствующем разделе.

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

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

Запуск Access 2007 для создания новой базы

Запустите Microsoft Access 2007 из меню Пуск или с помощью ярлыка. Отобразится окно . Разработчики программы предлагают нам готовые шаблоны из Интернета, но мы выполним работу по созданию базы самостоятельно.

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

Access 2007

Access 2007

В открывшемся поле имени файла введите имя файла . При необходимости можете выбрать папку для размещения файла базы данных. В данном примере файл будет располагаться в E:my doc.

Создание простой базы данных в MS Access и простые SQL запросы

Создание таблиц Access

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

Access 2007

В отличие от более ранних версий офисных приложений фирма Microsoft в версии 2007 изменила интерфейс. На смену меню и панелей инструментов пришли Ленты. Лента — это область в верхней части окна, в которой можно выбирать команды. Для более быстрого восприятия смысла команд каждая из них проиллюстрирована соответствующим значком.

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

Access 2007

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

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

Читайте также:
Программа которая играет за тебя в шахматы

Access 2007

Аналогично в третий столбец впишем цену продукта с точностью до четырех знаков 12,3456, а в четвертый размер файла в килобайтах — 1300 без указания единиц измерения. Переименуем соответствующие поля, назвав их и . Для удобства чтения данных о размере файла установите формат отображения данных .

Access 2007

Изменить количество знаков после запятой можно, используя кнопки , .

Access 2007

Сохраните таблицу, нажав кнопку в верхнем левом углу окна или комбинацию клавиш (Ctrl + S) клавиатуры. В поле укажите .

Аналогичным образом создайте таблицу , используя команду ленты (Рис. 01_8).

Access 2007

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

Access 2007

Для удобства ввода дат справа от ячейки с типом данных располагается кнопка электронного календаря. Щелчок мышкой по выбранной дате вводит дату в ячейку. Заполнив первую строку, сохраните таблицу .

Создание форм

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

Access 2007

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

Access 2007

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

Более предпочтительна форма, созданная с помощью следующей заготовки.

Access 2007

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

Access 2007

Промежуточным вариантом по удобству работы среди вышеописанных форм можно считать форму, созданную из третьей заготовки (Рис. 02_3).

Access 2007

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

Access 2007

Используя команду ленты создаем форму для таблицы и .

После создания формы продукты дополните данные о предлагаемых продуктах следующей информацией:

Наименование продукта Цена Размер файла
Как быстро создать информационный продукт 0,9321 1 000
Как определить будущих потребителей информационного продукта 4,7531 30 450

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

Аналогичным образом дополните информацию о заказчиках, внеся следующую запись:

Логин заказчика Индекс кошелька № кошелька Дата регистрации
Simeon Z 987654321 07.09.2007

После внесения данных в форму закройте её.

Создание отчетов

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

Access 2007

В процессе работы предложит выбрать из списка доступные поля (см. Рис. 03_2), для чего можно воспользоваться стрелками влево и вправо, выделяя нужную строку из списка курсором.

Access 2007

Работа в microsoft access,

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

Читайте также:
Как вернуть программу к заводским настройкам

1. Основные понятия базы данных access

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

Microsoft Access объединяет сведения из разных источников в одной реляционной базе данных. Создаваемые формы, запросы и отчеты позволяют быстро и эффективно обновлять данные, получать ответы на вопросы, осуществлять поиск нужных данных, анализировать данные и печатать отчеты.

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

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

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

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

Кроме перечисленных объектов база данных может содержать макросы — наборы специальных макрокоманд и модули — программы на языке VBA.

В Access можно создать несколько баз данных. База данных это — файл, имеющий расширение mdb. В этот файл входят все объекты Access, а также — документ “Схема данных”, в котором хранятся связи между таблицами.

Каждый объект Access имеет имя, длина которого должна быть не более 64 символов. В имени допускаются русские буквы и пробелы.

Источник: studfile.net

Джентльменский набор разработчика Access

За время работы разработчиком Access набралась куча полезностей, которую считаю своим долгом выложить на Хабр. Многие из этих сниппетов находятся в сети, а некоторые находятся с трудом или безнадежно затеряны.

1. При работе с Access во время выполнения запроса возникают предупреждающие сообщения. Они довольно полезны во время отладки приложения, но для пользователей, как правило, не нужны. Отключить/включить их можно с помощью небольшого кода VBA:

Application.SetOption «Confirm Action Queries», 0 Application.SetOption «Confirm Document Deletions», 0 Application.SetOption «Confirm Record Changes», 0

Указав в виде параметра 0 для отключения и 1 для включения.

2. Для того, чтобы защитить базу данных от посторонних глаз и разграничить права доступа используется файл рабочей группы ( формата .MDW ). Путь к файлу рабочей группы можно указать вручную, но если в сети много пользователей, то гораздо удобнее иметь файлик Access с кнопкой, по нажатию которой отрабатывает одна строка кода, задающая путь к MDW:

Application.SetDefaultWorkgroupFile Path:=»D:путь к файлуfile.MDW»

3. Не знаю, как бы я работал (наверное, работал бы так же, но гораздо медленнее), если бы не создал себе форму с поиском текста в содержимом запросов или форм. Очень часто необходимо производить какой-то рефакторинг или определять область применения таблицы или поля.

Для поиска по запросам поможет форма с кодом, который выполняет поиск в тексте запросов:

For i = 0 To CurrentDb.QueryDefs.Count — 1 If InStr(CurrentDb.QueryDefs(i).sql, strSearchWord) > 0 Then ‘ здесь можно организовать вывод на консоль или в текст CurrentDb.QueryDefs(i).Name End If Next Или можно пройтись только по всем полям запросов: For i = 0 To CurrentDb.QueryDefs.Count — 1 For j = 0 To CurrentDb.QueryDefs(I).Fields.Count ‘ и здесь можно организовать вывод на консоль или в текст CurrentDb.QueryDefs(i).Name Next Next

Для поиска по формам код немного объемнее:

Dim strSearchWord As String ‘ текст, который мы будем искать в формах strSearchWord=”цена” Dim oAO As object Dim frm As Form Dim ctrl As object For Each oAO In CurrentProject.AllForms DoCmd.OpenForm oAO.Name, acDesign Set frm = Forms(oAO.Name) For Each ctrl In frm.Controls Select Case ctrl.ControlType Case acTextBox, acComboBox, acListBox, acCheckBox ‘ поиск только по определенным контролам If InStr(1, ctrl.ControlSource «, strSearchWord) Then ‘ здесь вывод на консоль или куда хотите frm.Name и ctrl.Name End If End Select Next DoCmd.Close acForm, oAO.Name, acSaveNo Next Set oAO = Nothing Set frm = Nothing Set ctrl = Nothing

4. Для того, чтобы сделать нашу работу чуть более солидной с точки зрения программирования и для возможности поиска ошибок при работе в режиме production на рабочей базе данных очень желательно добавить модуль VBA (tracing модуль) для записи происходящих событий в текстовый файл лога. Простая функция записи в текстовый файл будет очень полезна при отладке.

Читайте также:
Программа расходов и доходов для Андроид отзывы

Sub Trace(ByVal txtinfo As String) On Error Resume Next MyFile = «D:» logfile.txt» fnum = FreeFile() Open MyFile For Append As fnum txtinfo = CStr(Now()) + » » + txtinfo Print #fnum, txtinfo Close #fnum End Sub

5. Этот код (из пункта 4) вполне можно вынести в отдельный файл базы данных Access и добавить во все существующие базы данных через References/Ссылки редактора VBA.

Если у вас имеется несколько файлов баз данных Access, то любой повторяющийся код можно вынести в отдельный файл. Единственное изменение, которое может быть необходимо сделать — в случае если в коде используется объект CurrentDb, то заменить его на CodeDb, дабы обращение шло к объектам той базы, которая используется в качестве хранителя общего кода.

image

6. Зачастую в запросах указывают в качестве параметра значение какого-либо поля открытой формы. Например, таким образом:

WHERE demotable.infonumber>Forms!Form1!Field25

Но иногда необходимо указать параметр непосредственно в самом запросе. Сделать это можно так:

PARAMETERS val Text ( 255 ), fldID Long; UPDATE demotable SET demofield = val WHERE [fieldID]=fldID;

И далее из кода Access задать эти параметры и выполнить запрос:

With CurrentDb.QueryDefs(«demoquery») .Parameters(«fldID») = 2 .Parameters(«val») = «newvalue» .Execute End With

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

Global start_ID As Long Public Function get_global() As Long get_global = start_ID End Function

Перед запуском запроса необходимо задать значение глобальной переменной (можно задать при открытии основной формы):

start_ID=3 ‘ для примера задал значение глобальной переменной равное трем

И в самом запросе указать параметром название возвращающей значение функции:

SELECT * FROM demotable WHERE (demotable.infonumber>get_global());

6.1 Этот способ получения параметра запроса можно использовать для частичного ограничения доступа к информации таблицы (в случае использования рабочей группы). При загрузке формы в зависимости от текущего пользователя установим значение глобальной переменной:

Private Sub Form_Load() If (CurrentUser = «Buh») Then start_ID = 1 Else start_ID = 1000 End If End Sub

Далее установим запрет на просмотр и изменение таблицы demotable, а на запрос установим разрешение. Но так как запрос у нас использует таблицу, на которую нет прав, то данных он нам не вернет. Для того, чтобы он вернул данные необходимо к sql запроса добавить в конце

WITH OWNERACCESS OPTION

В результате пользователь Buh сможет иметь доступ ко всем строкам таблицы, а все остальные пользователи ко всем строкам за исключением первой 1000.

7. Для того, чтобы открыть форму из кода используется код:

DoCmd.OpenForm «FormName», View, «FilterName», «WhereCondition», DataMode, WindowMode, «OpenArgs»

В качестве «WhereCondition» можно указать условие, на какой записи формы необходимо её открыть (в случае, если форма привязана к данным). Указав, например, «ZakazID=56325», можно открыть форму именно со значением данных ZakazID равным 56325.

В качестве значения «OpenArgs» можно указать какие-либо параметры, которые на открываемой форме можно будет считать
в Private Sub Form_Load() с помощью Me.OpenArgs. Если необходимо передать несколько параметров, то можно передать их в виде текстовой строки, разделив символом. И далее в Private Sub Form_Load() разбить на части:

If Len(Me.OpenArgs) > 0 Then x = Split(Me.OpenArgs, «|») ‘ разрезаем параметры на массив строку, разделенную символом | param1 = x(0) param2 = x(1) param3 = x(2) End If

8. Многие забывают, что Access работает не только таблицами из файлов mdb/accdb, но и с таблицами других баз данных. Для экспорта уже существующих таблиц есть бесплатная утилита SQL Server Migration Assistant, хотя можно воспользоваться и встроенным функционалом или найти стороннее решение.

И напоследок небольшой хинт из разряда «Это знает каждый ребенок, но я вот этого не знал…»:

Знаете ли вы, что для того, чтобы при открытии файла Access не срабатывали макросы и не открывалась форма по умолчанию, необходимо держать нажатой клавишу Shift?

  • Программирование
  • Microsoft Access

Источник: habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru