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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2007, 12:39   #1
Paradise_M
 
Регистрация: 24.11.2007
Сообщений: 4
Вопрос Delphi.Не повторяющийся график_работы инженеров в таблице.

Помогите пожалуйста разобраться.

Имеется таблица в Delphi.Там есть поля с графиком работы,т.е. это промежуток времени,когда инженер выполнял работу.Например,с 14-15 часов 24 ноября 2007 года.
Как сделать так,чтобы у конкретного инженера был не повторяющийся промежуток времени в определенный день?

Таблица DBGridEh.
Paradise_M вне форума Ответить с цитированием
Старый 24.11.2007, 13:14   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ну, для начала - не бывает таблиц DBGridEh, ибо DBGridEh - это контрол, призванный всего лишь тупо отображать то, что ему дают.
Таблицы бывают в Парадоксе, Аксессе и т.п.
Далее. Какой формат у поля и как в нем представлены данные?
mihali4 вне форума Ответить с цитированием
Старый 24.11.2007, 13:22   #3
Paradise_M
 
Регистрация: 24.11.2007
Сообщений: 4
По умолчанию

База данных в Аксессе.
Тип данных в таблице График_работы текстовой.Формат поля не задан.
Наверное имеет смысл поменять его на дата/время и выбрать формат?
Paradise_M вне форума Ответить с цитированием
Старый 24.11.2007, 13:25   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Paradise_M Посмотреть сообщение
База данных в Аксессе.
Тип данных в таблице График_работы текстовой.Формат поля не задан.
Наверное имеет смысл поменять его на дата/время и выбрать формат?
Правильнее будет вместо текстового поля иметь поля "Начало смены" и "Окончание смены" TDateTime. Тогда проблемы сравнения графиков работ решатся очень просто.
mihali4 вне форума Ответить с цитированием
Старый 24.11.2007, 13:35   #5
Paradise_M
 
Регистрация: 24.11.2007
Сообщений: 4
По умолчанию

Попробую так и сделать.Спасибо)
А как всё таки реализовать тогда сравнение?
Paradise_M вне форума Ответить с цитированием
Старый 24.11.2007, 13:48   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Анализом перекрытия периодов работы.
Пусть первый период работы - с Т1 по Т2, а второй - с Т3 по Т4.
Тогда, если (Т1<Т3<T2) или (Т1<Т4<T2), то периоды перекрываются.
mihali4 вне форума Ответить с цитированием
Старый 24.11.2007, 18:42   #7
Paradise_M
 
Регистрация: 24.11.2007
Сообщений: 4
По умолчанию

Как я поняла,это можно реализовать так,чтобы выбирался календарик в начале и конце смены.
И видимо нужно написать код обработки,но какой и куда?
Paradise_M вне форума Ответить с цитированием
Старый 24.11.2007, 20:04   #8
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

tblSmena.Edit;
tblSmena.fieldbyname('dt1').asdatet ime:= TDateTimePicker1.time;
tblSmena.fieldbyname('dt2').asdatet ime:= TDateTimePicker2.time;
tblSmena.Post;
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение выделенной ячейки в таблице в Delphi Гео Помощь студентам 3 13.06.2008 14:51
Delphi:обновить данные в таблице. Raccoon Помощь студентам 5 19.05.2008 19:31
Delphi: расчет по таблице Натуся БД в Delphi 1 31.10.2007 00:26
Нахождение чисел в таблице базы данных на Delphi!, Помогите пожалуй Рина БД в Delphi 0 13.03.2007 19:21