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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Чё та я туплю в доску
 
 автор: час   (30.04.2010 в 19:13)   личное сообщение
 
 

Всё очень просто.
Нуна вести табель - учёт рам времени.
Колонки
П\п/ФИО/дни 1 2 3 4 5 6 7 8 9 10/ итого
====================================
Ну один месяц всё понятно, а по истичении месяца - чё делать?
Чё новую таблицу на каждый месяц....
Как узнать за какой месяц восьмёрка стоит?

  Ответить  
 
 автор: Lukas   (30.04.2010 в 19:18)   личное сообщение
 
 


Не, ну можно и пол-года в табличке по полям разогнать, тогда всего две таблички понадобятся.

  Ответить  
 
 автор: час   (30.04.2010 в 19:26)   личное сообщение
 
 

Вот и я думаю .... мож как иначе
можа выбрать дату и на эту дату проставлять восьмёрки....
Ты как советываешь?

  Ответить  
 
 автор: Explorer   (30.04.2010 в 19:33)   личное сообщение
 
 

по нормальному нужно отмечать только установленные прогулы и опоздания.

восьмерки ставятся по-умолчанию по табель-календарю (можно вообще не делать такую таблицу)

т.е. отмечать не посещения а прогулы и пропуски

  Ответить  
 
 автор: час   (30.04.2010 в 19:37)   личное сообщение
 
 

Да, но там могут быть и 7часов и 10часов и......
то есть ко мне просьба вести учёт времени, отработанного продавцами........

  Ответить  
 
 автор: Explorer   (30.04.2010 в 19:40)   личное сообщение
 
 

понятно...

кто>>куда>>когда пришел & когда ушел (Optional Кто-когда-записал)

если работа не "факультативная" а привязана к графику - нужно сначала составить график и потом заполнять его

  Ответить  
 
 автор: час   (30.04.2010 в 19:45)   личное сообщение
 
 

А када заполним график - куда его? девать...
=======================================
я то хотел вот так
Колонки
П\п/ФИО/дни 1 2 3 4 5 6 7 8 9 10/ итого
что бы весь график можно было увидеть сразу за месяц
если чё та нужно - можно поправить - поправить
=======================================
но когда таблица заполнена чё делать ?
выгружать данные , очищать таблицу
заносить заново...

  Ответить  
 
 автор: Lukas   (30.04.2010 в 20:05)   личное сообщение
 
 

Простейший вариант:
1. Дата
2. Работник
3. ОтработаноЧасов

Explorer предлагает продвинутый вариант, когда сначала составляется график работы предприятия на период, а затем на рабочиеМеста/дни/смены распределяются работники,
если я правильно его понял.

  Ответить  
 
 автор: час   (30.04.2010 в 20:47)   личное сообщение
 
 

Правильно видимо понял - он по аналогии 1С предлагает.
Мну табель надо внсти и зарплату начислять в зависимости от отработаных часов....
так шо простейший вариант типа не катит.........

  Ответить  
 
 автор: Lukas   (01.05.2010 в 15:06)   личное сообщение
 
 

Что не дает вести табель и считать зарплату в простейшем варианте?

  Ответить  
 
 автор: час   (01.05.2010 в 22:45)   личное сообщение
 
 

Чё та не даёт..........

  Ответить  
 
 автор: kot_k_k   (03.05.2010 в 09:21)   личное сообщение
 
 

смотря как будет вестись учет если ежедневно то лучше делать таблу
Дата, ФИО, Пришел, Ушел.
а табель формировать как Лукас сделал - визуализацию работ - не могу найти ссылки там терки большие были еще.

если табель формируется раз в месяц - то проще сделать ФИО, месяц, год, + 31 колонка даты и и автоматом за полнять 8-ками кроме субботы и воскресения

  Ответить  
 
 автор: час   (03.05.2010 в 09:47)   личное сообщение
8 Кб.
 
 

Вощем получилось вот так ===>
Там внутри запрос и по нему вопрос
А можно как то запрос извернуть так, что бы выводилась единожды фамилия, а потом в ряд часы по датам
Иванова 8 8 8 4 8 8 8 7 8 12

  Ответить  
 
 автор: Lukas   (03.05.2010 в 11:16)   личное сообщение
 
 


TRANSFORM Sum(HOUR_DATE) AS [Sum-HOUR_DATE]
SELECT ID, FIO, Sum(HOUR_DATE) AS Итого
FROM (
SELECT e.ID, e.FIO, t.HOUR_DATE, t.DATE_RECORD
FROM SPR_NAME_MAN_TBL e INNER JOIN TABEL_TBL t ON e.ID = t.ID
WHERE t.DATE_RECORD Between #5/01/2010# And #5/31/2010#
) q1
GROUP BY ID, FIO
PIVOT Day(DATE_RECORD) In (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);

  Ответить  
 
 автор: час   (03.05.2010 в 11:55)   личное сообщение
 
 

Спасибо!!!
Жаль тока не сохраняется, ну да это мелочи.........
я его в код засуну........

  Ответить  
 
 автор: Lukas   (03.05.2010 в 12:25)   личное сообщение
 
 

Для формы заполнения табеля может пригодится такой запросец:

TRANSFORM Sum(HOUR_DATE) AS [Sum-HOUR_DATE]
SELECT ID, FIO, Sum(HOUR_DATE) AS Итого
FROM (
SELECT e.ID, e.FIO, t.DATE_RECORD, t.HOUR_DATE
FROM (
SELECT ID, DATE_RECORD, HOUR_DATE
FROM TABEL_TBL
WHERE DATE_RECORD Between #5/1/2010# And #5/31/2010#
) t 
RIGHT JOIN SPR_NAME_MAN_TBL e ON t.ID = e.ID
) q1
GROUP BY ID, FIO
PIVOT Day(DATE_RECORD) In (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);

  Ответить  
 
 автор: час   (03.05.2010 в 13:35)   личное сообщение
 
 

Спасибо ещё разок!!!

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