Форум программистов, компьютерный форум, киберфорум
Наши страницы

MS Access

Войти
Регистрация
Восстановить пароль
 
 
Humorist
0 / 0 / 0
Регистрация: 17.05.2018
Сообщений: 23
#1

Access в руках новичка - MS Access

17.05.2018, 17:26. Просмотров 937. Ответов 58
Метки нет (Все метки)

Добрый день Уважаемые посетители.
В силу сложившихся обстоятельств в поисках ответов на вопросы вынужден просить посильной помощи у Вас.
Коротко о себе. Мне 30, имею несколько дипломов но ни одного по программированию. Учился в физмате, там же было углубленное (в рамках школьной программы) программирование, но это были все-таки азы, хорошая база, которая позволяла развиться всякому желающему. Мое желание в плоскость программирования не пошло.

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

В чем проблема:
-- Программ 28, филиалов 56+/- разбросаны по всей стране, от Калининграда до Владивостока.
--На каждую программу надо набрать 20 слушателей, где-то желающих больше, где-то желающих недостаточно и приходится обзванивать и просить.
--Программы есть как абсолютно уникальные (то есть составлены под один филиал и весь набор ведется из одного источника, в таком случае проблем никаких нет), а есть программы как котлован, набор слушателей ведется из разных источников, в довесок есть программы одинаковые, но проходящие в разное время, или в разных городах/ВУЗах, то есть степень вариативности тут достаточно высокая.
--Так как я человек новый, данный процесс был запущен без моего ведома, и я был просто помещен в ситуацию хаоса.
--Когда ко мне одновременно посыпались заявки на согласование кандидатур из всех филиалов (учитывая, что я новенький ситуация для меня была неприятной) на весь спектр программ (самая первая программа начиналась 30 апр, а последняя заканчивается в декабре)
--Если бы все это свалилось одномоментно большой бы беды не было, я бы в тишине спокойно бы разгреб списки из 500+ кандидатов.
--Но все сыпалось хаотично, оформление документов у всех разное, следовательно на обработку уходило много времени.
--Я уже не говорю о случая когда на местах подчеркнуто наплевательски относились к подаче заявки.
--И снова уходило время на то, что бы дозвониться, поговорить и уточнить.
--В компании есть ресурс по автоматизации, как коллеги сказали "неограниченный".
--Я обрадовался и быстренько накидал письмо со своими пожеланиями в части автоматизации процесса.

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

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

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

Тут-то у меня и возник первый вопрос. Каким образом мне лучше всего организовать свои таблицы?

у меня есть :
1 ФИО слушателя
2 Филиал (место его работы)
3 Подразделение филиала (далеко не всегда он есть, но можно внести наименование отдела, к примеру)
4 Рабочая электронная почта (ее я решил сделать ключевым полем в таблице, так как почтовый адрес 100% уникальный, на другом форуме мне объяснили что это не самая лучшая идея, и я ключевым полем буду делать "стандартное")
5 Наименование учебной программы
6 Срок проведения программы (он делится на дистанционную часть и очную)
7 Место проведения программы (ВУЗ, их всего 2, один в Москве, второй в Новосибирске)
7.1 Стоимость учебной программы
8 Логин и пароль для каждого слушателя
9 Внутренний документ (телеграмма) на основании которого слушателей отправляют на обучение (можно привязать к слушателю или филиалу)

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

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

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

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

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

Так же я понимаю, что все это можно сделать через excel. Запихать все в одну огромную таблицу на 500+ строк, с большим количеством столбцов (штук 15, наверное) и через фильтры получать данные.
Но это не так круто и красиво как Access. Этот пусть знают все, реализовать могут все. А Access для многих программа неведомая, одновременно красивая и тыры-пыры.

В общем мне нужны свистелки/перделки, что бы для обывателя выглядело сложно, круто и вызывало благоговейный страх)
Заранее спасибо.

P.S. Прошу не закидывать какашками за дублирование темы, так как я планирую все свои вопросы, по мере их поступления, писать именно сюда.
В данный момент формирование базы уже идет. Что я сделал, сформировал одну таблицу с филиалами, ключевое поле сделал "стандартное"

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

P.P.S. Я понимаю, что для ниндзи БД проще дать мне готовое решение на мой вопрос, чем описывать, объяснять и учить, но с Вашего позволения я прошу если не подробно-подробно писать путь решения проблемы, то хотя бы просто укажите направление решения.

Так как на финальных этапах я хочу что бы из БД автоматом шла рассылка через outlook значений Логин, Пароль (которые присваиваются каждому слушателю и которые я буду вносить в соответствующую таблицу) + 2 документа word с телеграммой на обучение и excel с реестром слушателей, вот тут-то может быть вариант "скинь базу я лучше сам сделаю, чем буду тебе объяснять" будет более приемлемым

Всем заранее большое спасибо и надеюсь на Ваше терпение и понимание.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2018, 17:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Access в руках новичка (MS Access):

Нужно ли устанавливать Access 2003, если в Access 2016 итак возможно разрабатывать БД в формате Access 2003? - MS Access
Здравствуйте! Подскажите пожалуйста, нужно ли устанавливать Access 2003, если в Access 2016 итак возможно разрабатывать БД в формате...

Вопрос новичка - MS Access
Здравствуйте! Я занимаюсь созданием базы по видеороликам и столкнулась с такой проблемой: мне нужно после какой-либо сортировки данных...

Вопрос от новичка - MS Access
Хочу реализовать вот какую функцию.Имеется одна таблица с полями ФИО и ПАСПОРТ.Есть также вторая таблица с полями ФИО, ПАСПОРТ и КОЛВО. По...

вопрос от новичка - MS Access
не ругайтесь если посчитаете вопрос глупым-я только новичок. проблема такая: есть listbox(item''ы берутся из конкретного столбца...

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

Структура бд для новичка - Базы данных
Есть, например, несколько таблиц: статьи, товары, категории. К этим трем нужно добавить несколько доп-параметров, например рейтинг и еще...

58
VinniPuh
Эксперт MS Access
5891 / 3439 / 344
Регистрация: 27.03.2013
Сообщений: 12,658
17.05.2018, 19:20 #2
Humorist, Да уж, много делов то.
До конца лета при должном усердии можно наверное справиться.
Но так как у вас еще ни чего нет, то для начального толчка посмотрите примерчик по организациям и для описания ваших 56 +/- филиалов и попробуйте повводить данные.
Возможно на что то путное и полезное вас сей примерчик и направит.
1
Вложения
Тип файла: rar Организации-01 (Подр.Должн.Сост).rar (82.8 Кб, 14 просмотров)
Kiriver
7 / 7 / 2
Регистрация: 09.04.2018
Сообщений: 135
17.05.2018, 20:19 #3
вставлю свои 5 копеек. учусь вот по такой книге Мэтью Мак-Дональд - Access 2007. Недостающее руководство - 2007
в приложении к ней есть диск (его можно скачать),так вот один из примеров в ней как раз БД школа. Почти всё, что вы перечислили там есть.
2
Humorist
0 / 0 / 0
Регистрация: 17.05.2018
Сообщений: 23
18.05.2018, 09:50  [ТС] #4
Большое спасибо за советы. Книгу на выходных постараюсь скачать, приложенный пример сегодня посмотрю. Вчера на ютубе нашел запись с семинара про реляционные БД, посмотрел и вроде бы все понятно. Но вопрос все же остался.
Общий принцип формирования БД я, надеюсь, понял верно. То есть все данные надо сгруппировать по какому-то общему признаку и в зависимости от наличия таких групп необходимо формировать таблицы (прошу прощения за упрощенный лексикон с явной отсылкой к excel, но если сейчас начну прибегать к помощи профессиональной лексики наверняка где-нибудь совершу ошибку, либо изложу мысль не верно, либо прочту не так)
так вот. я в своей ситуации буду формировать 3 таблицы.
1 - Филиал. В ней 2 столбца
- Ключевой
- Наименование филиала
2 - Учебная программа. В ней 9 столбцов
- Ключевой
- Полное наименование учеб. программы
- Краткое наименование учеб. программы
- Даты начала и окончания очной и заочной части обучения (всего 4 столбца)
- Место обучения
- Стоимость обучения
3 - Слушатели. В ней 12 столбцов
- Ключевой
- ФИО слушателя
- ФИО заменяющего слушателя (иногда бывает так, что утвержденный кандидат заменяется новым, для этого я ввел этот столбец, если замены не было, там пусто, если она была указываю фамилию нового)
- Филиал
- Подразделение филиала
- Должность Слушателя
- Адрес электронной почты (тут либо конкретного слушателя, либо контактного лица от филиала. И здесь у меня может быть накладка. При смене слушателя, должна будет и измениться электронная почта, в принципе, так как объем БД крохотный это можно сделать и ручками, но если есть более удачные вариации организации я буду благодарен за совет)
- Логин
- Пароль (эти два поля предоставляет сам институт)
- Логин/пароль переданы слушателю (логическое поле)
- Телеграмма
- Реестр (это вложенные файлы, внутренние документы компании)
На данный момент это все, что я успел обдумать и прошу дать оценку такой организации БД. Может быть более опытные посетители знают лучший путь организации?


P.S. У меня есть ряд пунктов по которым я испытываю сомнения.
1. Первоначально мне предложили сформировать отдельную таблицу на Телеграмму и Реестр (я считаю, что это много разумнее чем мой вариант, но телеграмма с реестром формируется на группу слушателей каким образом мне сформировать таблицу? Сделать:
- Ключевой
- Номер телеграммы
- Номер реестра
- Вложенные файлы
А связать как потом? Через столбец Телеграмма в таблице слушатели?
2. И самое главное объясните, мне, пожалуйста, за связи таблиц? Как вообще все это связать и что есть эта связь?
Сейчас постараюсь объяснить свою проблему.
У меня есть отдельные таблицы Филиал, Слушатели, Учебные программы. Слушатель будет связан с таблицей филиал через одноименный столбец "Филиал" по принципу многие к одному (многие слушатели могут относиться к одному филиалу). Но мне же надо сформировать группы по 20 человек по признаку наименования учебной программы. Значит мне надо в таблицу Слушатели добавить столбец Учебная программа (к примеру краткую форму ее написания) и таким образом будет организована связь, по принципу многие к одному (многие Слушатели могут относиться к одной учебной программе)
Отсюда у меня вопрос, верно ли я понимаю чуть связей и организации БД?
Выходит, что БД это набор таблиц, которые содержат в себе данные имеющие единый признак группировки иными словами справочники. При этом можно сколь угодно подробно описывать что-либо в любой таблице. Но набрав несколько таких таблиц (справочников) создается дополнительная, которая наполняется посредством ссылок на предыдущие таблицы. Это и есть те самые связи. Верно ли я все это понимаю?
Спасибо
0
avgur113
23 / 23 / 5
Регистрация: 20.04.2013
Сообщений: 65
18.05.2018, 10:16 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
"ФИО заменяющего слушателя" - не годится. При запросах будут сложности или вдруг подряд несколько замен. Проще логическое поле "Зачислен" и поле "Примечание", где можете отметить кто кого и когда заменил.
1
Humorist
0 / 0 / 0
Регистрация: 17.05.2018
Сообщений: 23
18.05.2018, 10:30  [ТС] #6
"Примечание" в той же таблице? К сожалению не до конца понял. Вас не затруднит пояснить?
Цитата Сообщение от avgur113 Посмотреть сообщение
При запросах будут сложности или вдруг подряд несколько замен.
Да, замен очень много, текучка высокая и постоянная. Поэтому мне важно знать ФИО первого, и ФИО второго, так как логин и пароль присваивается первому слушателю, заменяющий должен использовать логин/пароль от предшествующего.
Может быть убрать колонку "ФИО Заменяющего", ввести логическую "зачислен/не зачислен" и просто добавлять строку с новым? А вывод данных организовать в том числе и по признаку Зачислен/не зачислен?
Но все равно, мне надо как-то увязывать выбывшего и заменяющего.
0
avgur113
23 / 23 / 5
Регистрация: 20.04.2013
Сообщений: 65
18.05.2018, 10:55 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Если так это важно то создается доп.таблица "История_замен" куда при помощи макроса или Vb должны быть занесены все замены с датой и временем замен. Но вам по вашим желаниям нужно учить матчасть. Здесь вам могут только посоветовать и помочь, а в остальном вы сами. Поищите в торрентах курсы по Access Специалист
0
Панург
Мы один, давай на "ты"
1566 / 650 / 119
Регистрация: 16.06.2016
Сообщений: 1,266
18.05.2018, 10:56 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Humorist Посмотреть сообщение
Да, замен очень много, текучка высокая и постоянная. Поэтому мне важно знать ФИО первого, и ФИО второго, так как логин и пароль присваивается первому слушателю, заменяющий должен использовать логин/пароль от предшествующего.
Не читал всё ибо "многа букав".

Для начала нужно разработать и выделить объекты, потом определить нужные связи, затем создавать таблицы.
В данном случае есть два объекта Слушатель и Человек (возможно Работник) - это два набора свойств (описываются отдельными таблицами). Между собой они связаны "many-to-many" (многие ко многим) через таблицу связи. В этой таблице и возможно проследить, кто кого и когда замещал.
0
Humorist
0 / 0 / 0
Регистрация: 17.05.2018
Сообщений: 23
20.05.2018, 13:28  [ТС] #9
Цитата Сообщение от VinniPuh Посмотреть сообщение
Возможно на что то путное и полезное вас сей примерчик и направит.
Направил, большое спасибо за помощь.
Если не обременит, пожалуйста, подскажите каким образом можно организовать on line отображение текущего времени в шапке формы?
Никак не удается. То, что нашел отображает только то время в момент которого произошло обновление формы.
Спасибо
0
Kiriver
7 / 7 / 2
Регистрация: 09.04.2018
Сообщений: 135
20.05.2018, 13:46 #10
Цитата Сообщение от Humorist Посмотреть сообщение
Если не обременит, пожалуйста, подскажите каким образом можно организовать on line отображение текущего времени в шапке формы
Вставить элемент AktiveX
1
Миниатюры
Access в руках новичка   Access в руках новичка  
Изображения
 
VinniPuh
Эксперт MS Access
5891 / 3439 / 344
Регистрация: 27.03.2013
Сообщений: 12,658
20.05.2018, 15:16 #11
Humorist, откройте в режиме конструктора форму - Главная.
В свойстве - Таймер смотрите процедуру.
Ниже в свойстве - Интервал, нужно вместо нуля поставить 1000, это количество миллисекунд в секунде и свободное поле с Временем будет обновляться каждую секунду.
1
Humorist
0 / 0 / 0
Регистрация: 17.05.2018
Сообщений: 23
21.05.2018, 23:18  [ТС] #12
Всем здравствуйте.
Прошу посмотреть прикрепленный скрин и дать свою оценку организации таблиц. Так как есть у меня подозрения, что организовал я их логически не верно. Не нравится мне связь между Учебные-программы и Работники, но исправить не получается.
Саму базу выложу чуть позднее, так как нажо предварительно потереть личную информацию. (не принимайте близко к сердцу, пожалуйста)
Заранее спасибо
0
Миниатюры
Access в руках новичка  
amd48
390 / 132 / 20
Регистрация: 18.05.2016
Сообщений: 353
Записей в блоге: 1
22.05.2018, 09:59 #13
Пока не поздно, избавляйтесь он названий с пробелами. Или подчёркивания вместо них или ИменаЧерезЗаглавнуюБукву. Если очень нужно для понимания назначения полей, лучше в конструкторе таблицы у поля заполнить свойство "Подпись". Ну и в будущем https://ru.wikipedia.org/wiki/Венгерская_нотация
2
alvk
Эксперт MS Access
5510 / 3408 / 164
Регистрация: 12.08.2011
Сообщений: 8,600
23.05.2018, 05:09 #14
Все почему-то рекомендуют книги, но никто не даёт наш подфорум.
Вот ссылка Написание статей там есть многое для изучения азов, в том числе рассмотрение построения БД с нуля на конкретном примере
Написание статей
2
Humorist
0 / 0 / 0
Регистрация: 17.05.2018
Сообщений: 23
24.05.2018, 11:59  [ТС] #15
Всем добрый день.
Сформировал таблицы и связал их. Вроде бы процесс идет. Создал форму для ввода данных в таблицу Учебные группы. Данная таблица связана с таблицей-каталогом "Работники" и таблицей-каталогом "Учебные_программы"
При использовании формы ввода можно случайно занести одного и того же работника два и более раз. Защиты по умолчанию тут нет. Нашел инструкцию и код, но ручки пока кривые и прошу ознакомиться с нижеприведенным кодом на предмет наличия ошибки.
Так же прошу подсказать, как мне добавить в анализ второе дополнительное поле из формы ввода. Заранее спасибо
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub ФИО_слушателя_LostFocus()
On Error GoTo Err_ФИО_слушателя_Click
Dim Cod As Integer
Dim Answer As Integer
    Answer = DCount("[ФИО_слушателя]", "Работники", "[ФИО_слушателя]=Forms![Работники]![ФИО_слушателя]")
    If Answer = 1 Then
    MsgBox prompt:="Значение уже содержится в файле"
    End If
Err_ФИО_слушателя_LostFocus_Click:
    MsgBox Err.Description
    Resume Exit_ФИО_слушателя_LostFocus_Click
    
End Sub
0
24.05.2018, 11:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2018, 11:59
Привет! Вот еще темы с ответами:

Книги с примерами для новичка по БД - Базы данных
Посоветуйте книгу с которой можно нормально начатиь изучение баз данных. Желательно чтобы в книге присутствовали примеры и она не была...

Вопрос от новичка: текущая запись - MS Access
Подскажите пожалуйста, как в табличной форме (или подчинённой форме) узнать номер текущей записи? Обращение...

Источник строк для Новичка! - MS Access
Доброго времени суток! Дайте ссылку, направление, куда копать, по работе с источником строк-список значений... не получается у меня...

Помощь в построении БД для новичка - MS Access
Всем доброго времени суток. В общем имеется файл в формате Excel в котором реализуются заявки для клиентов. Прикладываю его для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru