Всем привет! В этой статье я расскажу как сделать информационное сообщение при изменении данных в базе Access.
Как сделать информационное сообщение при изменении данных в базе Access
По умолчанию, когда пользователь вводит или редактирует данные с помощью формы, программа Microsoft Access автоматически сохраняет любые внесенные изменения в таблицах, так как поля формы напрямую связаны с полями соответствующей таблицы.
Если пользователь закроет форму или создаст новую запись, все внесенные ранее изменения также автоматически сохраняются. Согласитесь, было бы удобно организовать работу следующим образом: пользователь открывает форму, вносит или изменяет данные.
Если он закрывает форму или переходит к новой записи, система выводит информационное сообщение: «Сохранить внесенные изменения?» Если он не вносит изменения, то, соответственно, информационное сообщение не появляется. Также для удобства работы на форме можно создать кнопку «Сохранить».
Данная кнопка будет неактивна при запуске самой формы. Как только будут внесены изменения, кнопка «Сохранить» становится активной.
Как это работает?
Откроем любую форму, на которой расположены кнопки «Сохранить», «Новая запись» и «Выход». Кнопка «Сохранить» не доступна.
Внесем изменение в поле «Цена» (350 вместо 250). Кнопка «Сохранить» становится доступной.
Если нажать кнопку «Сохранить», изменения сохранятся, кнопка «Сохранить» станет вновь недоступна. Если создать новую запись или выйти из формы, никаких информационных сообщений не появляется.
- Поменяем теперь код бренда на «Красота от природы».
- Нажмем кнопку «Выход».
Если нажать «Да», внесенные изменения сохранятся, форма закроется. Если нажать «Нет», код бренда снова станет «Кислородная линия», форма закроется.
Как это сделать?
Шаг 1. Создание формы
Для того, чтобы понять как сделать информационное сообщение при изменении данных в базе Access, необходимо создать простейшую форму. Я буду использовать форму, созданную в базе данных Косметическая продукция.
Если вы не знаете как создать формы в базе данных Access, то посмотрите видео ниже.
Шаг 2. Добавление кнопки «Сохранить»
- Переходим в конструктор форм, на панели инструментов нам понадобится инструмент «Кнопка».
- Мастер создания кнопок не нужен, нажимаем кнопку «Отмена».
- Щелкаем по созданной кнопке и набираем текст «Сохранить».
Далее дважды щелкаем по кнопке, чтобы открыть окно свойств. Переходим на вкладку «Данные», пункт «Доступ» — ставим «Нет».
- Переходим на вкладку «Другие» и задаем имя кнопки «cmdSave»
Шаг 3. Вставка VBA-кода на событие «Внесены изменения»
Переходим в свойства формы, вкладка «Событие», пункт «Внесены изменения». Нажимаем кнопку с тремя точками, выбираем пункт «Программы».
VBA код:
Private Sub Form_Dirty(Cancel As Integer)
Me.cmdSave.Enabled = True
End Sub
При загрузке формы кнопка cmdSave недоступна (см. Шаг 2) (значение свойства Enabled равно False). Как только пользователь вносит или изменяет данные срабатывает событие формы «Внесены изменения» и кнопка cmdSave становится доступа (значение Enabled меняется на True).
Шаг 4. Создание булевой переменной
Для отслеживания статуса кнопки «Сохранить» (нажата кнопка или нет) создадим переменную Saved с помощью оператора Private. Для этого вставим строку Private Saved As Boolean под строкой Option Compare Database в самом верху экрана.
Шаг 5. Вставка VBA-кода на событие «Нажатие кнопки»
Дважды щелкаем по кнопке «Сохранить», переходим в окно свойств, вкладка «Событие», пункт «Нажатие кнопки». Нажимаем кнопку с тремя точками, выбираем пункт «Программы».
VBA код:
Private Sub cmdSave_Click()
Saved = True
DoCmd.RunCommand (acCmdSaveRecord)
Me.cmdSave.Enabled = False
Saved = False
End Sub
Если мы внесли изменения, кнопка cmdSave становится доступна (шаг 3). Когда мы нажимаем кнопку «Сохранить», булевая переменная Saved (шаг 4) получает значение True (т.е. кнопка cmdSave нажата), происходит сохранение изменений, после этого кнопка cmdSave становится снова недоступной, а переменная Saved получает значение False до тех пор пока снова не будет нажать кнопка «Сохранить».
Шаг 6. Вставка VBA-кода на событие «До обновления»
Переходим в свойства формы, вкладка «Событие», пункт «До обновления». Нажимаем кнопку с тремя точками, выбираем пункт «Программы».
VBA код:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Response As Integer
If Saved = False Then
Response = MsgBox(«Сохранить внесенные изменения?», vbYesNo, «Сохранить изменения?»)
If Response = vbNo Then
Me.Undo
End If
Me.cmdSave.Enabled = False
End If
End Sub
Событие До обновления (BeforeUpdate) возникает при любом изменении данных в записи или элементе управления.
Если пользователь нажмет кнопки «Новая запись» или «Выход», не кликнув перед этим на кнопку «Сохранить», то появится информационное окно «Сохранить изменения?» (MsgBox(«Сохранить внесенные изменения?», vbYesNo, «Сохранить изменения?»)). Если пользователь нажмет «ДА», то все внесенные изменения сохраняются.
Если пользователь нажмет «НЕТ», произойдет отмена всех изменений (Me.Undo). Далее кнопка cmdSave снова станет не доступна независимо от того, нажал пользователь «Да» или нажал «Нет» (Me.cmdSave.Enabled = False).
- В данной статье мы разобрали как сделать информационное сообщение при изменении данных в базе Access.
- Если вам нужна готовая база данных Access, то ознакомьтесь со списком представленным ЗДЕСЬ.
—————————————————
Полезные ссылки: - Урок 17: мастер запросов
Урок 16: запрос на создание таблицы
Урок 15: запросы с параметром
Урок 14: запросы с вычисляемыми полями
Урок 13: Как определить ГОД, КВАРТАЛ, МЕСЯЦ, ДЕНЬ НЕДЕЛИ в запросе
Урок 12: Как создать ЗАПРОС С УСЛОВИЕМ
Урок 11: Как задать условия для ТЕКСТОВЫХ полей в запросах
Уроки по SQL-запросам
Источник: https://accesshelp.ru/kak-sdelat-informacionnoe-soobshhenie-pri-izmenenii-dannyh-v-baze-access/
Создание форм в Access для ввода данных :
Microsoft Access является полезным приложением, поскольку позволяет создавать и хранить данные во многих связанных таблицах, предлагая большую эффективность и стандартизацию, чем электронные таблицы.
Таблицы являются основой базы данных.
Но, в отличие от обычных таблиц Excel, где ввод данных — очень медленная и утомительная процедура, создание форм в Access-формах выполняется с использованием удобных многочисленных функций.
Простые формы доступа
Все формы основаны на одной или нескольких таблицах базы данных, поэтому перед созданием форм сначала необходимо создать первичную таблицу. Существует много способов создания формы в Access. Программа создает базовую форму всего за один клик, поэтому пользователь может получить полностью настроенную форму с нуля.
Чтобы выбрать форму, необходимо войти на вкладку «Создать» на ленте меню, и найти раздел «Формы». При нажатии этой кнопки автоматически создается базовая форма, основанная на исходной таблице, выделенной на левой панели навигации. Это самый простой вариант для создания форм в Access, хотя предоставляет меньшую гибкость.
Разделенная форма фактически отображает данные из двух таблиц. Одна часть выглядит как электронная форма, расположенная ниже. Простая форма в Access показывает только одну запись, разделенная же имеет несколько строк, чтобы пользователи вводили много данных на экране. Этот тип формы полезен для ввода длинных списков, у которых столбцов не много.
Создание проекта с нуля
После того как будет выбран один из вариантов формы, пользователь приступает к созданию формы для ввода данных в Access с нуля, применяя дополнительные функции программы. Для этого нужно перейти в Дополнительные формы -> Мастер форм и далее нажать стрелку раскрывающегося списка «Больше форм», найти опцию для Мастера форм. После чего Access проведет пользователя по этапам создания формы и даст возможность использовать множество настроек, создавая баланс между программой, чтобы Access выполнила большую часть работы, и пользователем, создающему форму самостоятельно.
Существует много вариантов, которые можно реализовать с помощью создания форм MS Access. Можно создать два основных типа форм:
- Связанные формы.
- Несвязанные формы.
Связанные формы (Bound Forms) взаимодействуют с некоторыми базами данных, такими как оператор SQL, запрос или таблица. Этот вид используется для ввода или редактирования данных в базе.
Несвязанные формы (Unbound Forms) не зависят от источника данных. Они могут быть в форме диалоговых окон и коммутационных площадок, используемых для навигации с базой данных в целом. Существует много режимов создания форм в Access.
Типы связанных форм:
- Форма единого элемента, самая популярная, когда записи отображаются в одной записи единовременно.
- Несколько элементов, отображает ряд записей за один раз из связанного источника данных.
- Сплит-форма, разделяется на половину, горизонтально или вертикально. Одна отображает элемент или запись, а другая — предоставляет данные нескольких записей из базового источника данных.
База данных Access
Для создания форм access формы имеется несколько способов. Для этого нужно открыть базу данных и войти на «Создать». Во вкладке «Формы» в правом углу нажать кнопку «Мастер форм». На первом экране выбирают поля, которые нужно будет отобразить в форме. Алгоритм действия:
- В мастере форм выбрать tblProjects для таблиц/запросов и несколько необходимых полей, таких как ProjectStart, ProjectName, ProjectID, и ProjectEnd. Они перейдут в рабочие поля.
- Выбрать tblTasks для таблиц / запросов и разместить по полям.
- Нажать «Далее».
- Выбрать вид упорядочивания создания форм и отчетов в access. Если нужно создать плоскую форму, выбирают организацию tblTasks, а при создании иерархической формы, можно упорядочить данные с помощью tblProjects.
- Выбрать форму с подформами (s) и затем нажать «Далее». На следующем экране можно выбрать макет для своей подформы. По умолчанию выбран Datasheet View. Он похож на Table View.
- Нажать «Далее».
- На следующем экране необходимо указать имя формы и «Готово».
Создание форм в Microsoft Access через дополнительную форму выполняют через раскрывающееся меню «Дополнительные формы». Далее нужно создать форму «Несколько элементов», форму Datasheet, форму «Сплит» или форму «Модальный диалог».
Это обычно связанные формы. Выбрать объект, который нужно привязать к этой форме. Это не относится к формам модального диалога.
Выбрать объект в навигационной панели, выделить tblEmployees, появится форма «Несколько элементов», в которой будут перечислены все данные.
Мастер приложения
Перед созданием форм Access их можно увидеть на экране и использовать для просмотра данных в таблице. Для этого существуют кнопки навигации в нижней части экрана: первая запись, следующая запись, предыдущая запись, завершающая запись, которые позволяют перемещаться по таблице. Можно также ввести новейшую запись, нажав кнопку «Новая». Алгоритм создания форм в субд. Access следующий:
- Нажать вкладку «Создать» на ленте и кнопку «Мастер форм».
- В раскрывающемся списке «Таблицы / Запросы» выбрать «Члены клуба», и нажать двойной шеврон (>>), чтобы переместить все поля в окно справа.
- В списке параметров макета выбрать Columnar и «Далее».
- Назвать форму и «Готово».
- Отредактировать форму и прикрепить изображение. Можно добавить логотип или другое изображение в форму, нажав вкладку «Главная»> «Вид»> «Дизайн» для формы.
- Открыть «Инструменты дизайна форм»> «Дизайн» и нажать «Вставить изображение» > Обзор.
- Найти изображение, которое будет использоваться в форме, выбрать его, а затем перетащить, чтобы создать окно.
- Чтобы изменить размер изображения, нажать мышью, выбрать «Свойства» и перейти на вкладку «Формат».
- Установить режим размера для увеличения и выравнивания изображения в верхнем левом углу, а затем использовать размерные ручки для определения размера.
- Можно изменить размер некоторых текстовых полей формы, если они слишком большие.
- После окончания выбрать «Главная»> «Вид»> «Форма», чтобы вернуться к использованию и просмотру формы.
Альтернативная форма доступа
Способы создания форм в Access позволяют сделать ввод данных более удобным для пользователей, используя бесплатные альтернативы. Microsoft Access — это сложный инструмент базы данных с трудным процессом обучения. Существуют более интуитивные альтернативы с аналогичными функциями. Прежде чем будет создана форма, пользователю придется импортировать базу данных. Набор информации:
- Начать с избрания «Пустое содержимое базы данных».
- Импортировать данные, используя «Внешние данные» в правом верхнем углу экрана.
- Выбрать XML-файл на вкладке «Внешние данные».
- Перейти в папку, в которую разархивировали файл, и выбрать, где будет предоставлено меню импорта XML.
- Нажать OK для импорта в новую базу данных.
- В левом столбце будут указаны доступные объекты базы данных, и если все работает исправно, пользователь должен увидеть импортированные объекты данных contact_information и member и дважды кликнуть их, чтобы открыть элемент.
Настраиваемые объекты дизайна
Создание базы данных в Access-формах позволяет предоставлять пользовательский доступ и настраивать объекты дизайна. Хорошо разработанная форма может повысить эффективность и точность ввода. На вкладке «Инструменты компоновки форм» содержатся поля настройки формы. Выбор его приведет к экрану с настройками дизайнерских форм и эстетических возможностей. На вкладке «Главная» нужно найти опцию и просмотреть доступные виды форм. Design View предоставляет более подробное представление о структуре формы, чем представление макета. Он также позволяет изменять форму без каких-либо помех.
Большинство задач могут выполнятьсякак в представлении Design View, так и в Layout View, но есть некоторые свойства формы, которые могут быть изменены только в Design. Layout View предоставляет более визуальный макет для редактирования формы. Он имеет близкое сходство с фактической формой.
Большинство модификаций форм могут быть сделаны в представлении макета, но в некоторых случаях Access сообщает, что нужно переключиться на Design View, чтобы внести определенные изменения. Когда активирована функция «Формирование дизайна форм», ленточная панель добавляет три новые позиции вверху под заголовком «Инструменты дизайна форм»:
- Дизайн-изменение цветов и тем. Добавляет в форму кнопки, поля, метки и другие объекты.
- Упорядочить — меняет макет и выравнивает объекты в форме.
- Формат — изменение текста, фоновых изображений и фигур чертежа.
Инструмент быстрой разработки
Мастер Access Form Wizard — это полезный инструмент форм, который открывает возможности проектирования, предоставляя варианты для столбцов, строк, размеров таблиц, языков и тем. Можно использовать мастер создания форм Access, чтобы быстро решить, какой стиль формы подходит для базы данных и предпочтений пользователя. В зависимости от данных есть несколько других форматов, а также элементы управления дизайном, чтобы помочь пользователю в навигации:
- Мастера форм.
- Дополнительные опции.
Использование мастера открывает новые параметры, добавляет новые поля и убирает ненужные. Эта добавленная гибкость обеспечивает высокое качество управления и экономию времени.
Вместо создания форм с нуля можно использовать Мастер форм и настроить его по своему усмотрению. Это экономит время и повышает эффективность, позволяя сразу начать работу.
Удобный интерфейс позволяет создавать нужные поля двойным щелчком.
Формы четырех форматов
Один из этих четырех форматов имеется в каждой конфигурации базы данных Access, с которой столкнется пользователь. В работе нужно применять панель свойств.
Это полезная боковая панель, расположенная на вкладке «Инструменты компоновки форм», содержит множество важной информации о форме и может быть использована для быстрого редактирования, изменения и переключения множества опций с удобной подсказкой в левом нижнем углу экрана.
Виды форматов:
- Единая таблица — одна форма, соответствующая одной таблице базы данных. Она функциональная, базовая и может применяться для выполнения ряда задач.
- Форма одиночной таблицы с полем поиска: использует только одну единственную настройку базы данных, поиск позволяет отображать данные из другой таблицы или базы данных, или создавать обобщенные значения диапазона данных.
- Форма Master / Detail — одна основная форма направляет множество подформ.
- Форма Master / subform — дополнительными полями поиска в главном или подчиненном виде.
Блокировка разделов
Защита доступа к базе данных от других пользователей нужна тогда, когда владелец не хочет, чтобы кто-то вмешивался в тонко настраиваемую внутреннюю работу таблиц и запросов и особенно кодов VBA. Доступ предоставляет ряд способов предотвращения случайного изменения данных пользователями в формах. Один из вариантов — установить свойства управления Enable и Locked для предотвращения ввода данных. Например, при создании подчиненной формы Access, которая будет применяться для внесения изменений в адреса клиентов.
Первое управление — это поле поиска, используемое для нахождения клиентского номера. Когда, например, выбирается номер, имя и адрес клиента автоматически отображаются в соответствующих элементах управления.
Однако если не нужно, чтобы другие пользователи вносили изменения в поле «Имя клиента», можно его заблокировать. Далее следует перейти к списку свойств, которые нужно редактировать. Изменения будут применяться ко всей форме.
Примерно на полпути вниз по списку свойств можно увидеть варианты редактирования.
Порядок наложения запрета:
- Изменить каждое свойство на ПО.
- Перейти к представлению дизайна и в раскрывающемся списке свойств листа выбрать форму.
- Переключить режим «Разрешить макет» на «Нет». Это останавливает доступ всех дополнительных пользователей к виду макета, где они могут непосредственно редактировать форму.
- Теперь сохраняют форму для этого преобразовывают файл из.accdb в.accde, ограничивая любые дальнейшие изменения дизайна или редактирование полей.
- Сохранить текущую базу данных в важном месте.
- Перед конвертированием файла в Access убедиться, что сделана копия (или две) исходного файла базы данных. В случае ее повреждения она будет главной копией.
- Перейти в файл> Сохранить.
Командные кнопки Access
Создание кнопочной формы в Access используется для обеспечения доступа к функциям базы данных, таких как открытие связанных форм, сохранение или печать данных. Они также используюется для запуска одного действия или для нескольких, которые помогают другим функциям получить доступ к базе данных. Например, пользователь может создать кнопку команды в форме, чтобы открыть другую.
Чтобы запустить Command Button, пользователям необходимо написать процедуру или макрос события в свойстве On Click. Шаги для создания главной кнопочной формы Access следующие:
- Выбрать и открыть форму, в которую нужно вставить кнопку Command.
- Закрыть все формы, запущенные в системе, чтобы избежать путаницы.
- Нажать мышью по форме и открыть ее в режиме разработки.
- Выбрать вкладку «Дизайн» в панели «Лента» и нажать значок кнопки.
- Пользователи могут заметить, что их курсор превратился в знак плюса и должны использовать его для рисования или создания структуры кнопки в своей форме.
После того как пользователь решил создать новую кнопку, на экране автоматически появляется Мастер создания кнопочной формы в Access. Обычно кнопка может вызывать предустановленную функцию в форме и запускаться на Macro или через специальный код VBA.
Пользователи закрепляют эти изменения, выбрав «Операция формы» в «Окна»> «Печать текущей формы» из окна действий, затем нажать дальше.
Пользователь может выбрать два варианта: использовать изображение или значок на кнопке Command или использовать текстовое название.
Можно внести изменения с помощью мастера команд, где MS Access также позволяет пользователям просматривать изображения из своей системы.
Чтобы применить изменения в форме, нужно нажать «Готово». Указать имя, используя мастер кнопок команд. После внесения всех необходимых изменений нужно сберечь форму. Проверить форму, чтобы убедиться, что она работает правильно.
MS Access поддерживает особый порядок создание формы. Удобный пользовательский интерфейс проектирования форм позволяет настроить базовую форму, нажав всего лишь на один значок. Встроенные менеджеры программы — отличный способ изменить дизайн форм вручную и настроить форму доступа с нуля.
Источник: https://www.syl.ru/article/386704/sozdanie-form-v-access-dlya-vvoda-dannyih
Access-формы. Создание форм для ввода данных
Access является мощным приложением Windows, системой управления базами данных (СУБД ). Его предназначение — представление информации в удобном пользователю виде, автоматизация операций, которые часто повторяются. Также программа помогает в поиске и хранении данных. Все это выполняют Access-формы. Создание форм — несложная задача, призванная максимально помочь пользователю.
В форме Access, как на витрине магазина, удобно просматривать и открывать нужные элементы. Так как форма — это объект, с помощью которого пользователи могут добавлять, редактировать и отображать данные, хранящиеся в Access, ее внешний вид играет важную роль.
Если база данных классического приложения Access используется несколькими пользователями, хорошо продуманные формы — залог точности данных и эффективности работы с ними.
Создание форм
СУБД Access предлагает пользователю удобный механизм работы с данными. Это специальные Access-формы, которые значительно облегчают ввод, редактирование данных, их просмотр.
Они являются специальным объектом в этой СУБД и имеют богатый арсенал элементов управления, с помощью которых происходит автоматизация представления данных, хранимых в таблицах базы данных.
Это текстовые поля, флажки, радиокнопки, выпадающие списки и прочее.
Способы создания форм в Access многообразны:
- создание форм на базе существующих таблиц и запросов;
- создание пустых форм;
- разделенные формы;
- формы с несколькими записями;
- подчиненные Access-формы.
Создание форм осуществляется с помощью мастера форм, специального конструктора.
Они особенно удобны, если, например, ввод данных нужно производить со специальных бланков. Для этого вид формы, поля ввода данных специально делают такими же, как на бланке.
Формы на основе существующей таблицы
Создание форм в Access на основе уже существующей таблицы осуществляется очень просто. Для этого в разделе «Создание» надо кликнуть кнопку «Форма». Главным условием в данном случае является предварительное создание таблицы с данными, а также ее выбор в области навигации. В форме отобразится всего лишь одна запись, а также данные связанной таблицы.
Для вывода нескольких записей таблицы в форме надо в том же разделе «Создание» выбрать кнопку «Несколько элементов». Так мы сможем отобразить в текстовых полях формы целый ряд записей данных со всеми полями таблицы.
На базе существующей таблицы создание форм в Access позволяет также разработать также разделенную форму. Это вид, который вместе с представлением данных в элементах управления представляет выборку данных параллельно в табличном виде. Чтобы создать разделенную форму, нужно в разделе «Создание» выбрать кнопку «Разделенная форма».
Такие формы появляются уже сразу отформатированными с применением многочисленных элементов управления. Чаще всего такими элементами выступают однострочные текстовые поля, куда выводятся хранимые в полях таблицы значения данных. Вместо заранее отформатированных можно делать пустые формы.
Режим макета
Готовые к использованию таблицы переводят в режим формы. В этом режиме можно изменять лишь сами данные записей таблиц базы данных, переходить между этими записями. Форматирование в этом режиме не допускается, а создание форм Microsoft Access нуждается в форматировании элементов управления и самой формы. Все это можно сделать, если переключиться в режим макета или в режим конструктора.
Режим макета отличается от режима конструктора меньшими возможностями по конструированию форм.
Вместе с тем он очень удобен для быстрого форматирования, для внесения незначительных изменений в элементы управления: вертикальное или горизонтальное их выравнивание, добавление дополнительных текстовых полей, изменение внешнего стиля формы и прочее. В режиме макета нельзя изменить данные, выведенные в элементы управления, тогда как режим конструктора предоставляет такую возможность.
Настройка форм в режиме конструктора более сложна и основательна. Кроме того, только в режиме конструктора доступен ряд элементов графического оформления, а также элементы управления: прямоугольники, линии, кнопки, поля со списками, переключатели и другое. В этом режиме можно изменить источник данных для редактируемой формы. Более того, из этого режима можно отключить режим макета.
Добавление на форму кнопки
Например, необходимо добавить кнопку на форму, с помощью которой придется ее закрывать. В режиме конструктора будет доступной целая раскладка из разных элементов управления, среди которых расположена кнопка. Если добавить ее в макет формы, то СУБД автоматически выполнит мастер создания кнопок, окно которого появится перед пользователем.
Окошко создания кнопок предложит на выбор несколько категорий, в которых содержатся списки действий. В нашем случае необходимо выбрать категорию «Работа с формой». Из списка действий этой категории нужно выбрать «Закрыть форму».
На следующем необходимо сообщить пользователю, что данная кнопка отвечает за закрытие формы. Можно оставить текст на кнопке, а можно подсказать об этом с помощью пиктограммы (рисунка).
Далее мастер попросит пользователя дать название кнопке, после чего можно нажать «Готово» — так получится готовая кнопка на форме, которая позволит закрывать ее.
Если теперь нажать на созданную кнопку, то СУБД предложит сохранить созданные в форме изменения, после чего закроет ее. В режиме конструктора эта кнопочка работать не сможет. Она работает только в режиме готовой формы.
Необходимо также сказать о том, что сами формы можно составить при помощи специального мастера. В ходе построения мастером формы надо лишь определиться с ее настройками. Далее созданную мастером форму легко отформатировать по своему усмотрению, переключившись в режим макета или в режим конструктора.
Подчиненные формы
Подчиненная форма — это элемент, являющийся дополнением другой, основной Access-формы. Создание форм подчинения – это разработка иерархической конструкции из двух таблиц, отражающей наличие отношений между формами.
Отношения между ними могут отражать разный тип связи, имеющийся между таблицами базы данных: «один-ко-многим», «многие-ко-многим». Часто эти отношения рассматривают в разрезе родственной связи с наличием родительской (основной) формы и дочерней (подчиненной).
Что такое подчиненная форма
Создание подчиненных форм в Access можно объяснить примером: такой формой может стать форма заказов покупателя в интернет-магазине.
Сведения о покупателе содержатся в одной таблице, а сведения о его заказах хранятся в другой в связи с проведением нормализации при проектировании базы данных.
Одному покупателю соответствует сразу несколько заказов, поэтому отношение между таблицами покупателя и заказов отражают связь «один-ко-многим». В этом случае форма, представляющая данные покупателя, станет основной.
Другая, представляющая данные его заказов, будет добавлена к основной и окажется подчиненной.
Расположенные в одном пространстве макета основная и подчиненная формы демонстрируют только связанные данные. Так, если в таблице покупателей находится уникальный покупатель, а в подчиненной таблице заказов с ним связано три записи, значит, подчиненная форма отобразит все три записи о его заказах.
Мастер форм
Создать иерархическую конструкцию из форм в Access можно разными путями. Например, реализовывая сценарий создания и главной, и подчиненной форм, можно прибегнуть к помощи мастера форм.
Создание главной формы в Access, содержащей подчиненную, при помощи мастера не составит большого труда. Он не только создаст сами формы, но и свяжет их необходимым отношением.
Если же сценарий создания подчиненной формы предполагает ее добавление к уже существующей главной, тогда можно либо воспользоваться мастером, либо просто перетащить уже существующую таблицу на макет основной и сделать ее подчиненной.
Создание форм подчинения
Создадим подчиненные формы на основе двух связанных таблиц (Authors и Books). Воспользуемся для этого мастером форм. Первым делом откроем сам мастер, команда выполнения которого располагается в СУБД Access (создание форм). В Access 2007, например, ее можно найти в выпадающем списке пункта «Другие формы».
Открывшееся окно мастера предложит выбрать таблицу, для которой надо создать формы, а также поля (выбор двойным щелчком), которые пользователь хотел бы видеть.
После первой таблицы в том же окне понадобится выбрать другую, которая имеет связь с первой. Мастер самостоятельно обнаружит отношения, а если не сможет это сделать, тогда подчиненные формы он создать просто не в состоянии.
В нашем случае подчиненной станет форма, созданная на базе таблицы Books.
На следующем шаге мастер предложит выбрать вид представления данных. Нам надо выбрать «Подчиненные формы», а затем вновь нажать кнопочку «Далее».
Следующий шаг предоставит нам возможность выбрать внешний вид создаваемых форм: ленточный или табличный макет. Нужно сказать, что ленточный богаче по стилям оформления.
На последнем шаге нам понадобится настроить заголовки форм, после чего нажмем «Готово» — сохранятся подчиненные access формы. Создание форм закончено.
Созданную конструкцию можно переключить в режим конструктора или макета. Это нужно будет для того, чтобы отформатировать получившиеся поля или добавить другие элементы управления.
Создание кнопочной формы в Access
Наличие большого числа таблиц в базе, а также форм, связанных с данными этих таблиц, сильно усложняет общую схему базы данных. Чтобы упростить передвижение между формами базы, создают так называемую главную кнопочную форму.
Это обычный элемент, который можно редактировать в конструкторе на свое усмотрение.
Можно сказать, что, создав главную кнопочную форму, вы осуществили создание формы базы данных в Access, которая является ее заставкой или начальной страницей.
С помощью кнопочек, размещенных на ней, намного легче передвигаться между элементами, так как каждую из кнопок связывают с отдельной формой. Клик по кнопке заставляет СУБД выполнить переход к связанной с кнопкой таблице.
Работа с диспетчером
В Access создание главной кнопочной формы осуществляется специальным диспетчером. Диспетчер кнопочных форм находится в разделе работы с базами данных.
Если он выполняется впервые, то не найдет кнопочных форм и предложит создать такую. Появившееся окошко мастера содержит несколько кнопок, из которых можно выбрать «Изменить».
Так можно перейти к функции настройки связей кнопочной формы и других доступных форм базы.
Например, добавим две кнопки — «Кнопка 1» и «Кнопка 2» — на главную кнопочную форму. Эти кнопки свяжем с формой Authors1 и Books, которая является подчиненной. Выбрав «Создать», мы откроем диалоговое окно, где укажем желаемое имя кнопки и действие, которое нам надо выполнить («Открыть форму для изменения»). В третьем поле укажем форму, с которой хотим связать добавляемую кнопку.
Закрыв окна настройки, мы обнаружим, что в окне навигации появилась наша кнопочная форма. Выбрав ее в панели навигации, откроем окно и увидим, что она содержит простой стиль оформления и две кнопочки. Клик по кнопкам заставит СУБД открыть форму, с которой данная кнопка связана.
Раздел с таблицами
В разделе таблиц после проведенных операций можно обнаружить добавившуюся новую таблицу под названием Switchboard Items. В ней хранятся все данные настроек, связанные с создаваемыми кнопочными формами. В нашем случае есть всего лишь одна кнопочная форма с двумя кнопками, поэтому в нее помещено всего три записи:
- записи о кнопках, содержащихся на форме,
- о действиях, связанных с ними,
- запись о самой кнопочной форме.
Режим конструктора
Созданную кнопочную форму можно усложнить, отформатировав ее содержимое в режиме конструктора. С его помощью на ее поверхность можно добавить много других полезных элементов управления.
Также главную кнопочную форму есть возможность связать с другими аналогичными формами. Это полезная функция для диспетчеризации переходов между формами в очень большой базе данных, где есть место для множества разделов и категорий.
Источник: https://FB.ru/article/198388/access-formyi-sozdanie-form-dlya-vvoda-dannyih
Форматирование форм в Access
После создания формы вы можете изменить ее внешний вид. Форматирование форм может помочь сделать вашу базу данных стабильной и профессиональной. Некоторые изменения форматирования могут даже упростить использование ваших форм. С инструментами форматирования Access 2010 вы можете настроить свои формы так, как хотите.
В этом уроке вы узнаете, как добавлять кнопки команд, изменять макеты форм, добавлять логотипы и другие изображения, а также изменять цвета и шрифты форм.
Форматирование форм
Access предлагает множество вариантов, которые позволяют вам создавать формы так, как вы хотите. Хотя некоторые из этих опций, таких как командные кнопки, уникальны для форм, другие могут быть вам знакомы.
Командные кнопки
Если вы хотите создать способ для пользователей вашей формы быстро выполнять конкретные действия и задачи, подумайте над добавлением кнопок команд . Когда вы создаете кнопку команды, вы указываете действие для ее выполнения при нажатии. Включая команды для общих задач прямо в вашей форме, вы делаете форму более простой в использовании.
Access предлагает много разных типов командных кнопок, но их можно разделить на несколько основных категорий:
- Записать кнопки команд навигации, которые легко позволяют пользователям перемещаться между записями в вашей базе данных
- Кнопки управления записью, которые позволяют пользователям делать такие вещи, как сохранение и печать записей
- Форма Операция командные кнопки, которые дают пользователям возможность быстро открыть или закрыть форму, распечатать текущую форму, а также выполнения других действий
- Кнопки командной строки отчета, которые предлагают пользователям быстрый способ делать такие вещи, как просмотр или отправка по почте отчета из текущей записи
Чтобы добавить командную кнопку в форму:
- В представлении «Макет формы» выберите вкладку «Дизайн макета форм» и найдите группу «Элементы управления».
- Выберите команду «Кнопка».
- Ваш курсор превратится в крошечный перекрестье с иконкой кнопки
. Поместите его в то место, где вы хотите использовать свою командную кнопку, затем нажмите. - Появится мастер командной кнопки. На панели «Категории» выберите категорию кнопки, которую вы хотите добавить. Мы хотим найти способ быстрее перейти к конкретным записям, поэтому мы выберем категорию Record Navigation.
- Список на панели «Действия» будет обновлен, чтобы отобразить выбранную вами категорию. Выберите действие, которое должна выполнить кнопка, затем нажмите «Далее». В нашем примере мы выберем «Найти запись».
- Теперь вы можете решить, хотите ли вы, чтобы ваша кнопка включала текст или изображение. Слева появится предварительный просмотр вашей кнопки.
- Чтобы включить текст, выберите «Текст», затем введите нужное слово или фразу в текстовое поле.
- Чтобы включить изображение, выберите параметр «Изображение» . Вы можете решить сохранить изображение по умолчанию для этой командной кнопки или выбрать другое изображение. Нажмите «Показать все изображения», чтобы выбрать другой значок кнопки команды или «Обзор …», чтобы выбрать изображение с вашего компьютера.
- Когда вы удовлетворены появлением вашей командной кнопки, нажмите «Далее».
- Введите имя кнопки. Это имя не будет отображаться на кнопке, но знание названия поможет вам быстро идентифицировать кнопку, если вы когда-либо захотите ее модифицировать с помощью Листа свойств. После ввода имени кнопки нажмите «Готово».
- Перейдите в режим просмотра формы, чтобы проверить новую кнопку. Наш поиск записи Кнопка открывает Найти и заменить диалоговое окно.
Если у вас возникла проблема с выполнением любой из этих задач в представлении «Макет», попробуйте переключиться на «Дизайн».
Изменение формы макета
Когда вы создаете форму, Access устраивает компоненты формы в макете по умолчанию, где поля аккуратно укладываются друг на друга, причем точно такая же ширина.
Хотя этот макет функционален, вы можете обнаружить, что он не соответствует вашей информации наилучшим образом.
Например, в приведенной ниже форме большинство полей почти полностью пусты, потому что хранящиеся там данные не занимают много места.
Форма будет соответствовать данным немного лучше, если мы уменьшим поля и кнопки команд, и если мы поместим некоторые из них рядом.
Однако с макетом по умолчанию вы не сможете поместить два поля рядом друг с другом или изменить размер одного поля или кнопки без изменения размера всех них.
Это связано с тем, что линии в Access формируют компоненты в строках и столбцах. Когда вы изменяете размер поля, вы действительно изменяете размер столбца, который содержит его.
Чтобы изменить размер и изменить наши поля так, как мы хотим, нам придется изменить макет формы . Например, поскольку макет по умолчанию для нашей формы содержит только два столбца: один для полей, а другой для полей — нам нужно будет создать новый столбец, чтобы поместить два поля рядом.
Мы можем сделать это, используя команду на вкладке «Упорядочить», которая содержит все инструменты, необходимые для настройки макета вашей формы. Если вы когда-либо создавали и изменяли таблицы в Microsoft Word, вы уже знаете, как использовать большинство этих инструментов.
Чтобы изменить размеры компонентов формы:
- Перейдите к представлению «Макет».
- Выберите поле или кнопку, которую вы хотите изменить, и наведите указатель мыши на край. Ваш курсор станет двусторонней стрелкой
. - Нажмите и перетащите край, чтобы изменить размер, и отпустите, когда поле или кнопка имеют нужный размер.
- Поле или кнопка, а также каждый другой элемент, соответствующий ей, будут изменены.
Чтобы переместить компоненты формы:
- При необходимости добавьте столбцы или строки, чтобы освободить место для поля или кнопки, которую вы хотите переместить, с помощью команд Insert в группе Rows&Columns. В нашем примере мы хотим переместить поле «Фамилия» справа от поля «Имя», поэтому нам нужно будет создать два новых столбца справа: один для метки поля и один для самого поля. Для этого дважды нажмите кнопку «Вставить правую».
- Нажмите и перетащите поле или кнопку в новое место. Если вы перемещаете поле, обязательно переместите метку поля.
- Повторите шаги один и два с любыми другими полями или кнопками, которые вы хотите переместить.
Если вы хотите, чтобы поле занимало больше или меньше места, чем один столбец, вы можете использовать команды «Слияние» и «Сплит». Команда Merge объединяет два или несколько ячеек, в то время как Split команда делит клетку.
Дополнительные параметры форматирования
Добавление логотипов и других изображений в ваши формы может значительно улучшить их внешний вид, а также применить цвета и шрифты для темы . Чтобы узнать, как добавлять изображения и элементы темы в свои формы, ознакомьтесь с нашими инструкциями по форматированию отчетов в статье «Дополнительные параметры отчета в Access». Процедуры идентичны.
Изменение цветов и шрифтов компонентов формы
Чтобы дополнительно настроить внешний вид ваших форм, вы можете применять разные цвета и шрифты к отдельным полям, кнопкам, этикеткам и другим компонентам формы. Изменение внешнего вида формы полезно, если вы хотите использовать определенную цветовую схему или схему шрифта в форме, но не хотите, чтобы эти элементы дизайна применялись к всей вашей базе данных.
Например, в приведенной ниже форме мы изменили шрифт нашего названия формы. Мы также применили новый цвет заливки и границы к полям формы и делаем то же самое с командами.
Вы можете внести эти изменения с помощью методов и инструментов форматирования, аналогичных тем, которые вы будете использовать для изменения фигур в Word и других программах Office. Просто выберите объект, который вы хотите изменить, в режиме «Макет» или «Дизайн» и используйте параметры форматирования на вкладке «Формат», чтобы настроить его внешний вид.
Источник: https://maxfad.ru/ofis/ms-access/466-formatirovanie-form-v-access.html
Access! Добавление записей в подчиненную таблицу
Цитата:
Originally posted by natalia Получилось! Получилось! Спасибо! Вот только не с первого разу, вот это то я и упустила (дура глупая): Forms![гл. форма].Requery Set rstClone = Forms![гл. форма].RecordsetClone rstClone.MoveLast Forms![гл. форма].Bookmark = rstClone.
Bookmark и тут же вопрос — это дело я вставила в цикл до next i, может неправильно, а? А то записи ТО правильно добавляются, ТО их больше в два раза от того, что уникальное поле запоминается из предыдущей записи.. странно как-то…
Подскажите этот момент поподробнее и эту часть кода, что она выполняет? Что за RecordsetClone? :)))
Этот кусок кода я опустил в последнем примере, потому как подумал, что для твоей ситуации он не очень критичен. А смысл его вот какой: Когда ты обращаешься к таблице программно напрямую (через DAO, ADO и т.д.
), а в это же время эта таблица показывается в форме, то все твои изменения в таблице не будут отображены, пока ты принудительно не заставишь Access обновить выводимую таблицу в форме через метод формы — Requery. Т.е. в твоем случае надо в конце написать: Forms![Гл_форма]]![Подч_форма].Form.
Requery И вот тут одна нехорошая такая вещь после этого происходит — записи загружаются заново и по умолчанию фокус устанавл. на первую запись. Т.е. ты добавил записи и после этого ты попадаешь на начало. Чтобы не заставлять пользователя вручную возвращаться, можно сразу добавить такой код: DoCmd.
GoToRecord ,,acLast Но у этого метода такой недостаток, чтобы так написать, надо (ОБЯЗАТЕЛЬНО) перевести фокус на элемент (любой) этой подчин. формы., т.е. в итоге: Forms![Гл_форма]]![Подч_форма].Form.Requery Forms![Главн_форма]![Подч_форма].SetFocus Forms![Главн_форма]![Подч_форма].Form![Имя_Контрол].SetFocus DoCmd.
GoToRecord ,,acLast Тебе такой вариант может подойти. Но вот существуют ситуации когда переводить фокус на форму ради этого действия очень не хочется. Например: пользователь работает с одной подч. формой (главный экран), нажимает кнопки, обрабатывает что-то, а на этой же форме, но на другой вкладке другая подчин. форма где ведется лог.
И вот в этот лог надо добавить запись и перейти в конец (на последнюю запись, чтобы опять же не прокручивать всю эту форму). Если мы будем действовать по приведенному выше коду, то у пользователя быстро переключится вид на форму с логом, добавиться запись, обновиться, перескочет на последнюю и только потом его бедного опять вернут к своей любимой форме…
🙂 Приятного мало. Подитожу. Процесс добавления записей и Requery можно производить с неактивной (ее вообще может быть не видно) формой, а вот для того что перейти в этой НЕАКТИВНОЙ форме на последнюю запись, я и применяю этот код: Set rstClone = Forms![Главн_форма].RecordsetClone rstClone.MoveLast Forms![Главн_форма].Bookmark = RecordsetClone.
Bookmark Делает он следующее. У каждой формы есть свойство RecordsetClone, которое возвращает объект Recordset (набор записей, про него в справке лучше почитай), в котором находятся записи этой формы.
По сути Recordset эта таже таблица, только в виде объекта DAO для того чтобы можно было делать всякие вещи с полями и записями как с обычными объектами в языках программирования. В этом rstClone мы по умолчанию стоим на первой записе. Переходим на последнюю — rstClone.MoveLast Теперь используем свойство Bookmark — закладка.
Эта Bookmark для того, чтобы можно было поставить закладку, а потом быстро вернуться на нужную запись в Recordset или в форме (она тоже поддерживает закладки). Вот и мы и переходим в форме на ту же запись, что уже перешли в объекте RecordsetClone. Это свойство Bookmark может немного смутить.
У него такая хитрость: Когда мы обращаемся (ЧИТАЕМ) к свойству -RecordsetClone.Bookmark — то оно возвращает закладку на активную запись в объекте RecordsetClone. Мы например, можем эту закладку сохранить в отд. переменной: Dim bk as Bookmark Set bk=RecordsetClone.Bookmark и потом ее использовать где-нибудь дальше. А вот когда мы присваиваем (ПИШЕМ) этому свойству RecordsetClone.Bookmark = bk другую закладку, это значит, мы меняем активную запись на ту, которая была активна, когда считывалась эта закладка (bk), т.е. просто переходим на указанную запись. В нашем примере эти два действия сразу в одной строке получились: Forms![Главн_форма].Bookmark = RecordsetClone.Bookmark
Цитата:
—— С галочкой я так поступаю, может вовсе некорректно: Private Sub flag_Click() If flag=True Then Form_podForm1.pddate.Enabled = False Else Form_podForm1.pddate.Enabled = True End If End Sub в итоге во ВСЕХ записях поле pddate становится недоступным. Как же сделать это Enabled только для той записи, в которой я ставлю галочку?
А оно и будет заблокировано во всех выводимых записях, но так пользователь не может работать сразу с несколькими, а только с одной, то как только он будет переходить к следующей записи, мы будем решать: блокировать ее или нет.
К твоему коду, надо добавить еще код обработчик событии формы Current (возникает при ЛЮБОМ переходе польз. к другой записе): Private Sub Form_Current() If flag=True Then Form_podForm1.pddate.Enabled = False Else Form_podForm1.pddate.
Enabled = True End If End Sub Так что мы всегда его опередим и пользователь от нас не уйдет 🙂
Уф, вроде бы все.
Источник: http://forum.codenet.ru/q7331/
Переход по записям формы с помощью поля со списком в Access -> Форум на Исходниках.Ру
Переход по записям формы с помощью поля со списком в Access
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
Эльф Рейтинг (т): 42 | Как сделать переход по записям формы с помощью поля со списком в Access? Есть форма, в ней отображаются записи таблицы с полями id, name. Нужно чтобы можно было перемещаться по записям формы путем выбора из выпадающего списка одного из значений поля name. Вот я создаю форму, на ней оказывается два поля id и name. Далее я преобразовываю name в выпадающий список, указываю в качестве data запрос select name from table. Все отображается в списке, можно выбирать. Но не происходит смена записи. Иду другим путем — кидаю на форму новый комбо-бокс, там в мастере указываю что значение его будет использовано для перехода по записям формы. Все ввожу как надо, открываю форму, комбобокс содержит нужные значения поля name, но блин, не разрешает себя изменять, потому что автоматом к нему добавляется поле id (скрытое), а т.к. оно ключевое, аксесс не разрешает его изменять. |
Wizard Рейтинг (т): 352 | В событие «после обновления» ,поля со списком .
Цель — ничто , процесс — все. |
Эльф Рейтинг (т): 42 | Bas, не получилось — результат тот же. А разве с помощью гуи-средств нельзя это сделать? Ведь все сделано в акцессе так чтобы и секретарша могла базы делать, все автоматом добавляется, все само понимает куда чего дописать… Добавлено 03.04.07, 14:22 Кроме того, когда кидаешь на форму комбобокс, появляется мастер, и если выбрать вариант поиск записи в форме на основе значения, которое содержит поле со списком он же сразу создается с такой процедурой как ты указал
Добавлено 03.04.07, 14:27 |
Эльф Рейтинг (т): 42 | Пересоздал всю базу с нуля, проблема решилась. |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
[ Script Execution time: 0,0816 ] [ 18 queries used ] [ Generated: 27.11.19, 19:11 GMT ]
Источник: https://forum.sources.ru/index.php?showtopic=178686