Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.16;
Скачать: CL | DM;

Вниз

как найти время?   Найти похожие ветки 

 
silenser ©   (2002-12-19 14:51) [0]

есть база с полями
таб № вход/выход | дата/время
4444 | вход | 13.12.2002 6:59
4444 | выход | 13.12.2002 12:51
4444 | вход | 13.12.2002 13:59
4444 | выход | 13.12.2002 16:59
5555 | вход | 13.12.2002 6:59
5555 | выход | 13.12.2002 17:02
6666 | вход | 13.12.2002 7:02
8888 | вход | 12.12.2002 17:02
8888 | выход | 13.12.2002 6:59
5555 | вход | 13.12.2002 6:59
5555 | выход | 13.12.2002 17:02
как посчитать сколько времени он пробыл на предприятии???


 
Johnmen ©   (2002-12-19 14:54) [1]

Написать программу !


 
Prooksius ©   (2002-12-19 14:55) [2]

Опять телепатов ищут... Телепаты, АУ!! :)))

Локальная база? IMHO, пробежаться по dataset и посчитать
SQL-база? ХП и также


 
Prooksius ©   (2002-12-19 14:56) [3]


> сколько времени он пробыл на предприятии

А кто это? :)))))))


 
silenser ©   (2002-12-19 14:58) [4]

база локальная, вопрос как как вывести разницу времени от входа к выходу


 
silenser ©   (2002-12-19 14:59) [5]

по каждому табельному №


 
Prooksius ©   (2002-12-19 15:12) [6]

Надеюсь, не такого, типа сначала один вошел, потом он же опять вошел? Или сначала вышел, а потом вошел? :))))


var
TabNo: integer;
DateTime: TDateTime;
begin
Query.SQL := "select TabNo, InOut, DateTime from Table1 order by TabNo, DateTime"
Query.Open;
while not Query.EOF do begin
// ну а здесь подумай сам, многое зависит от конкретной ситуации
end;
end;


 
Johnmen ©   (2002-12-19 15:36) [7]

Должен заметить, что задача не совсем тривиальная, т.к. надо учесть :
1) есть запись прихода и нет записи ухода
2) есть запись ухода и нет записи прихода
3) время записи ухода более раннее времени прихода
и самое главное
4) какой записи прихода соответствует какая запись ухода ?

Резюме: ПОЛНОСТЬ пересмотреть структуру БД ! Нормализовать !
И вот тогда вопросов не будет...:)))



 
Подскажите   (2002-12-19 15:57) [8]

Я даже знаю откуда.Гребанный Парсек наверное ковыряют.Вот там только первая нормальная форма присутсвует.
4.Пункт-записи по порядку поэтому можно догадться что к чему.


 
Johnmen ©   (2002-12-19 16:25) [9]

>Подскажите (19.12.02 15:57)
>4.Пункт-записи по порядку

По какому такому порядку ? Что есть мера/признак порядка ?


 
KoluChi ©   (2002-12-19 16:53) [10]

Запрос в данном случае, по-моему, не поможет.
Единственный вариант здесь, как предложил Prooksius © (19.12.02 15:12).
Логичнее все-таки было бы хранить информацию в виде:
таб № | дата/время входа | дата/время выхода |


 
sniknik ©   (2002-12-19 17:35) [11]

зря напали на человека запрос то несложный получается
SELECT First(Tab) AS TabNo, Format(SUM(IIF(INOUT="вход", -Dat, Dat)) ,"h:m:s") AS [Time] FROM JOBERSTIME GROUP BY TAB

структура
CREATE TABLE JobersTime (Id INT IDENTITY(1,1),Tab int, InOut char(10), Dat DateTime)
а вот на каком SQL пусть догадывается, ну и естественно здесь простейшее, если работник провел на заводе века то это правильно, так ему и надо.


 
KoluChi ©   (2002-12-19 17:48) [12]

>sniknik © (19.12.02 17:35)
Вариант, конечно, но все недостатки остались (Johnmen © (19.12.02 15:36))
Но последнее слово все-таки за silenser.



Страницы: 1 вся ветка

Текущий архив: 2003.01.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
1-49039
Serge V
2003-01-07 22:39
2003.01.16
Удалить файл


1-49108
TAN
2003-01-05 10:59
2003.01.16
Чтение из текстового файла.


1-49050
Wowa-K
2003-01-08 10:05
2003.01.16
Работы с Word ом


8-49166
brestmarket
2002-09-28 05:13
2003.01.16
Как добавить в свою прогу возможность видео-диалога через WebCam?


1-49080
opoloXAI
2003-01-04 19:42
2003.01.16
TQuickReport+TStringGrid=количество страниц?