84

Приводим данные в порядок с помощью Microsoft Access (часть3)

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

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

Наша форма приобрела аккуратный вид.

Дополним нашу базу данными о компаниях в которых работают наши контакты. Создадим таблицу company с полями [id] – счетчик, [name] – текстовый, [adress] – текстовый. Заполнять таблицу будем импортируя из внешнего источника (файла), можно импортировать данные многими способами (из Excel, файлов Access, файлов других баз данных и др.).

Подготовим простой текстовый файл с набором вымышленных компаний и адресов. Назовем файл company.txt. В первой строчке файла через точку с запятой перечислим название полей, соответствующих нашим полям в таблице company - [name] и [adress]. Перечислим наименования компаний и их адреса отделяя их точкой с запятой.

---------------------------------------------------------- company.txt---------------------------------------------------------------------

name;adress

ООО Мотор;Россия, г. Москва, Космонавтов ул., 76, корп. 1

ЗАО ЖелДор;Россия, г. Москва, Шоссейная ул., 19, корп. 5

ООО ТверьВектор;Россия, г. Тверь, Мирная ул., 87, оф. 30

ОАО СофтОрионЛизинг;Россия, г. Москва, Калинина ул., 12, корп. 2

МКК ГорМобайл;Россия, г. Самара, Луговой пер., 35, оф. 2

ПАО МикроГлавМаш;Россия, г. Москва, Совхозная ул., 12, корп. 2

ПАО Нефть;Россия, г. Уфа, Пушкина ул., дом 32

ОАО МеталВостокОрион;Россия, г. Казань, Озерная ул., 90, корп. 7

ООО Компания РемСбыт;Россия, г. Москва, Вокзальная ул., 86, корп. 6

ПАО ГазВостокМор;Россия, г. Москва, Молодежный пер., 11, корп. 4

ПАО Теле;Россия, г. Москва, Юбилейная ул., 20, корп. 9

ОАО МеталВектор;Россия, г. Хабаровск, Южная ул., 55, оф. 7

ООО Компания ВодСантех;Россия, г. Москва, Заслонова ул., 21, корп. 7

----------------------------------------------------------------------------------------------------------------------------------------------------


Красная линия показывает границу полей.

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

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

Разделителем полей выбираем точку с запятой (хотя программа это уже поняла, правильно разделив наши данные), отметим что первая строка это имена полей.

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

В таблице contacts добавим поле [companyid], в выпадающем списке типов данных выберем Мастер подстановок

Выберем первый пункт – Значения из другой таблицы, далее.

Выбираем таблицу company в качестве источника данных, далее.

Выбираем поле [name] в качестве источника списка, завершим работу мастера соглашаясь на условия по умолчания.

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

Перейдем в уже знакомую нам Схему данных со вкладки Работа с базами данных и отобразим таблицу company. Курсором мыши перетянем поле [companyid] на поле [id] таблицы company. Теперь наши таблицы связаны связью Один ко многим, что означает: одному контакту соответствует одна компания из множества компаний.

Добавим возможность выбора компании для контакта на форме contacts. Перейдем в режим конструктора формы и на панели элементов управления выберем элемент управления – Поле со списком. Поместим его на свободное место области данных.

Этапы создания поля со списком на форме аналогичны тому, как это было сделано в таблице contacts.

Источник данных таблица company.

Источник списка поле [name].

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

Для удобной работы добавим на форму кнопку сохранения записи. В режиме конструктора из панели элементов управления перетянем элемент управления – Кнопка.

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

Зададим название кнопки как “Сохранить”, завершим работу мастера.

Перейдем в режим работы с формой, теперь кнопку “Сохранить” можно использовать для сохранения записей.

MS, Libreoffice & Google docs

762 поста14.9K подписчика

Правила сообщества

1. Не нарушать правила Пикабу

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях


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

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

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества