Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите пожалуйста с табелем учета времени
 
 автор: dodikxxx   (08.09.2011 в 15:54)   личное сообщение
 
 

Ребята подскажите пожалуйста, можно ли избежать ручного ввода 8 и В (выходной день) в таблицу (или форму)? Нужно чтоб календарь привязался к полям с числами месяца и в случае выходного дня сам ставил букву В, а в случае рабочего дня - 8. Просто вообще никаких идей... сделал форму, а как её можно связать с календарём??? подскажите пожалуйста кто знает

  Ответить  
 
 автор: kot_k_k   (08.09.2011 в 16:05)   личное сообщение
 
 

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

2-й - делаем таблу с ФИО и 31 поле день поле дата туда загоняем руками наши 8-ки и В и О и А (это тоже есть в табеле)
автоматом можно - анализировать каждую дату на предмет - день недели () и заносить в нужное поле соответствующую цифирю (букавку)

Функция Weekday
Возвращает значение типа Variant (Integer), содержащее целое число, представляющее день недели.
+ функции Month, Year, Day, DateSerial

  Ответить  
 
 автор: dodikxxx   (08.09.2011 в 16:38)   личное сообщение
 
 

Оперативно очень))) и в самую суть проблеммы) но только вот мне как раз и нужно чтоб было автоматом. ручной ввод не устраивает начальство... а фукция Weekday она же определяет день недели... она ведь не может автоматом выставить 8 и В (и другие))) в нужные мне клетки как я понял. я просто думал что можно как-то привязаться к календарю... ну создать 31 поле в форме (к примеру) и связать эти поля с календарём.
блин я не самый опытный пользователь баз данных и мне даже не понять откуда ноги то тут должны расти вообще? программировать чтоли надо?

  Ответить  
 
 автор: ё   (08.09.2011 в 16:46)   личное сообщение
 
 


... а фукция Weekday она же определяет день недели... она ведь не может автоматом выставить 8 и В


она - не может, а запрос на UPDATE, с условием на этой функции - может

...вы бы, что-то про свои таблички рассказали...

  Ответить  
 
 автор: dodikxxx   (08.09.2011 в 16:56)   личное сообщение
55 Кб.
 
 

смотрите. Всё очень просто и бонально. И если делать в ручную вообще проблемы не составляет, но мне сказали что в ручную вводить не надо, это можно сделать автоматом чтоб вводилось. Я вообще не могу понять как это сделать. Суть такая:
табель учета рабочего времени форма Т-13(хотя это и не важно какая форма))
ФИО табельный номер сатрудника, сколько он отработал часов, дней, и расписано 31 день месяца (тут и проставляются вручную либо 8 (часов) если день рабочий, либо В если день выходной). так вот хотелось бы чтоб access брал дату из календаря (ну или откуда ещё он её может брать) и сам прописывал две вещи: актуальные для каждого месяца выходные, ставил В, а если не В, то 8. И больше ничего пока не нужно. но я вообще не представляю как это сделать.

  Ответить  
 
 автор: dodikxxx   (08.09.2011 в 17:06)   личное сообщение
 
 

я там добавил файл с рисунком формы сделанной по табличке этой. данные там из этой таблички введены вручную, поэтому там всё отображается. Календарь пока висит просто для визуального контроля и не для чего больше. Хотелось бы чтобы первое число каждого месяца было связано с полем 1, второе число с полем 2 и т.д. и если выходной то вносилось В, иначе 8.
Как думаете это возможно сделать без великого программирования? я просто совсем не умею этого делать.

  Ответить  
 
 автор: ё   (08.09.2011 в 17:16)   личное сообщение
 
 


ФИО табельный номер сатрудника, сколько он отработал часов, дней, и расписано 31 день месяца


это было описание таблицы ?

нее, "нипайдёт" ((

нужен
- справочник сотрудников {ид, ФИО}
- табель {дата, идФИО, отработано}

и тогда ваша проблема решается простым запросом

update Tab
set отработано=IIf(weekday(дата, 2)<6, "8", "В")


хотя, то что вы в "отработано" собираетесь сохранять текст - уже не есть гуд...

  Ответить  
 
 автор: kot_k_k   (08.09.2011 в 17:40)   личное сообщение
 
 

возможно сидит чел - который тупо заполняет табель уже по факту - тк что в этом случае можно девствительно сделать 31 поле на в записи - будет быстрее отчет печатать и мороки ему будет меньше
я так делал давно - левой ногой им ни фига не нужно було вычислять и обрабатывать - главное табель напечатать и в конце цифири сбить.
тогда запись формируем - циклом от 1 to Day(Месяц_за_который_заполняем) DateSerial - собираем дату, и weekday - проверяем и заносим в нужное место.

  Ответить  
 
 автор: dodikxxx   (09.09.2011 в 13:57)   личное сообщение
 
 

kot_k_k и ё
Спасибо огромное за отклик! проблему решил немного через одно место, но функция weekday очень пригодилась!) Спасибо друзья большое за помощь!

  Ответить  
 
 автор: dodikxxx   (08.09.2011 в 18:12)   личное сообщение
46 Кб.
 
 

а для чего две таблички создавать в данном случае? вот моя исходная таблица, в которую данные должны вбиваться. В Экселе сделал то что нужно очень быстро. с access немного труднее)
а если я не ошибаюсь, данная схема работает при условии "каждый день обязан зайти и обновить"? ведь если один день пропустить, всё будет писаться не правильно?

  Ответить  
 
 автор: dodikxxx   (09.09.2011 в 13:57)   личное сообщение
 
 

kot_k_k и ё
Спасибо огромное за отклик! проблему решил немного через одно место, но функция weekday очень пригодилась!) Спасибо друзья большое за помощь!

  Ответить  
 
 автор: snipe   (08.09.2011 в 18:17)   личное сообщение
 
 

я конечно не сильный знаток русского языка
но фраза "ОтСчетный период" режет глаза
более того Отчетный период с ... до предполагает до такого -то числа не включая это число
а вот фраза с .... по предполагает что число в диапазон будет включено
сорри

  Ответить  
 
 автор: час   (08.09.2011 в 18:28)   личное сообщение
 
 


Снайпер - не промах!

  Ответить  
 
 автор: dodikxxx   (09.09.2011 в 10:14)   личное сообщение
 
 

Спасибо КЭП)))

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList