Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2011, 11:46   #1
Romirez_91
 
Регистрация: 23.05.2011
Сообщений: 9
Вопрос Табель Access 2003

Курсовой проект: "Табель учёта использования рабочего времени"
Никак не получается реализовать следующее: 1) В зависимости от выбранного года и месяца вывести своего рода календарь с рабочими и не рабочими днями недели, с возможностью последующего редактирования дней (Праздники и т.д.).
2) В зависимости от заполненного календаря и ставки определенного преподавателя, заполнить часы автоматически.

Помогите пожалуйста)
Вложения
Тип файла: rar Tabel.rar (17.7 Кб, 190 просмотров)
Romirez_91 вне форума Ответить с цитированием
Старый 23.05.2011, 23:43   #2
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

Используйте функцию Weekday(...) для определения дня недели. Для учета праздников я создавал дополнительную таблицу, в которой записывал даты праздников, если они выпадали на будни и даты выходных дней, которые в результате переносов стали рабочими. Ну а дальше дело техники: если дата - рабочий день, то ищем эту дату среди праздников и, если находим, то это выходной, а если нет - то рабочий день. Аналогично с перенесенными на выходные рабочими днями.
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 24.05.2011, 20:20   #3
Romirez_91
 
Регистрация: 23.05.2011
Сообщений: 9
По умолчанию

Спасибо за ответ! А не подскажите как посчитать сколько в месяце дней?
Romirez_91 вне форума Ответить с цитированием
Старый 24.05.2011, 21:43   #4
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

Количество дней в месяце есть не что иное, как количество дней между первыми числам соседних месяцев (между декабрем и январем надо учитывать смену года). Функция DateDiff лихо считает разницу между датами в различных интервалах (день, неделя, месяц и т. д.)
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 28.05.2011, 22:50   #5
Romirez_91
 
Регистрация: 23.05.2011
Сообщений: 9
По умолчанию

А не подскажите алгоритм? Никак придумать не могу либо очень уж длинный код получается.
Суть: В переменную
А-записывается день недели (1,2,3,4,5,6,7)
В-записывается значение ставки (1, 0.75, 0.5, 0.25)
C-хранит значение массива (либо 1 либо 0) массив до 31 (дни месяца)
Нужно учитывать ставку:
1 - 6 дней в неделю по 6 часов
0,75 - будни 5 часов, суббота 2 часа
0,5 - 3 часа 6 дней в неделю
0,25 - понедельник - четверг по 2 часа, пятница- суббота 1 час

Необходимо связать день недели со ставкой и с тем, что рабочий день или нет (0 или 1)
Помогите пожалуйста
Romirez_91 вне форума Ответить с цитированием
Старый 29.05.2011, 18:36   #6
Romirez_91
 
Регистрация: 23.05.2011
Сообщений: 9
По умолчанию

Задача решена)))
Romirez_91 вне форума Ответить с цитированием
Старый 05.06.2011, 07:40   #7
Romirez_91
 
Регистрация: 23.05.2011
Сообщений: 9
Печаль

Столкнулся с проблемой в схеме данных, база данных объединяет в себе как бы 3 базы, это "Преподавательский состав", "Учебно вспомогательный персонал (УВП)", "Научно-исследовательская часть(НИЧ)".
Из-за обеспечения целостности никак не получается связать эти три базы.
Хотел соединить их в таблице "ЗапТаб" но Access ругается на то, что таким образом нельзя обеспечить целостность данных (которую по требованию курсовой работы необходимо сделать). Помогите пожалуйста, не знаю уже что и делать.
Вложения
Тип файла: rar М38052_Мухаев_Табель_Ver1.rar (118.5 Кб, 194 просмотров)
Romirez_91 вне форума Ответить с цитированием
Старый 05.06.2011, 10:11   #8
ovt256
Форумчанин
 
Регистрация: 01.04.2011
Сообщений: 226
По умолчанию

Учитывая, что все три таблицы про людей имеют одинаковую структуру, их можно объединить в одну, добавив тип сотрудника (ПС, УВП и НИЧ).

При используемом Вами типе объединения таблиц говорить о целостности данных не приходится. Целостность и каскадность возможны в полном объеме только при первом типе объединения (LEFT INNER JOIN). Я не совсем разобрался в структуре данных, но, если это возможно, измените типы объединений.
Если руки золотые, то не важно, откуда они растут.
ovt256 вне форума Ответить с цитированием
Старый 05.06.2011, 11:00   #9
Romirez_91
 
Регистрация: 23.05.2011
Сообщений: 9
По умолчанию

Насчет, того чтобы объединить три таблицы про людей не подумал как-то, на первый взгляд, это бы решило проблему.
Осталось попробовать, Спасибо Большое за подсказку!)
Romirez_91 вне форума Ответить с цитированием
Старый 11.06.2011, 12:11   #10
Romirez_91
 
Регистрация: 23.05.2011
Сообщений: 9
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как подключить бд MS Access 2003 без установки MS Access 2003. ShaevMV БД в Delphi 1 15.09.2010 14:19
MS Access 2003 Demaaan Microsoft Office Access 0 25.01.2010 19:36
Есть БД на Access 2.0, нужно открыть в Access 2003 Spirit_33 Microsoft Office Access 1 23.07.2009 07:59