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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2012, 23:14   #1
apple66
 
Регистрация: 19.03.2012
Сообщений: 7
По умолчанию Надо вывести список пациентов которые опоздали на прием врача.. в DBGrid

Здравствуйте !!! помогите пожалуйста работаю над БД (Access) ,,,, у меня есть такая проблема ( Надо вывести список пациентов в DBGrid которые опоздали на прием врача... т.е срок их приема прошел (получается [дата_приема] > сегодняшнего дня {текущего дня} ) ... как это сделать????
apple66 вне форума Ответить с цитированием
Старый 20.03.2012, 03:26   #2
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

А вот если подумать то что вернет запрос с таким условием?
Цитата:
[дата_приема] > сегодняшнего дня
Каким образом вы отслеживаете что человек был/не был на приеме?
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 20.03.2012, 08:51   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

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



А может быть, там с логикой всё нормально!
например, TC при назначении приёма ставит там дату 1.01.2345. а если пациент пришёл на приём - тогда заменяется на дату приёма!

впрочем, соглашусь с rdama - автор темы, расскажите, каким образом фиксируется, был пациент на приёме или нет?!

Последний раз редактировалось Serge_Bliznykov; 20.03.2012 в 08:54.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.03.2012, 10:25   #4
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Может конечно и все нормально, но ТС умолчал об этой возможности.
А самое главное он не удосужился показать структуру таблицы к которой он хочет чтоб ему помогли написать запрос.
Я не думаю что такое решение возможно
Цитата:
например, TC при назначении приёма ставит там дату 1.01.2345. а если пациент пришёл на приём - тогда заменяется на дату приёма!
Мы же не можем дать пациенту талон на 1.01.2345.
Ибо если рассматривать на примере
Иванов должен прийти на прием 01.03.2012 в 13:00
Петров должен прийти на прием 01.03.2012 в 14:00
Иванов не пришел дата (плановая) так и остается 01.03.2012 в 13:00.
Петров пришел но при этом дата (плановая) так же остается 01.03.2012 в 14:00
Следовательно должна быть либо вторая дата (фактического прихода) на момент планирования равна NULL либо признак пришел/не пришел.
Тут же элементарное планирование рабочего времени врача. С заранее известным временем приема(что-то типа 20 минут на пациента).
Зато как конвейер.
А условие от ТС мне тоже похоже пора покаяться.
Еще раз что вернет это условие
Цитата:
[дата_приема] > сегодняшнего дня
И почему оно не выглядит так? [дата_приема] < сегодняшнего дня если нам надо получить
Цитата:
опоздали на прием врача... т.е срок их приема прошел
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)

Последний раз редактировалось rdama; 20.03.2012 в 10:29.
rdama вне форума Ответить с цитированием
Старый 20.03.2012, 12:31   #5
apple66
 
Регистрация: 19.03.2012
Сообщений: 7
По умолчанию

Здравствуйте !!! у меня есть таблица с данными в том числе [дата_приема] но я сделал без времени ,,,, (просто с датой).... Условие такое что надо вывести сообщение если есть пациенты, которые опаздывают на прием.... Нажимаешь на кнопку выводиться сообщение ...Сообщение такого рода "Есть опаздывающие пациенты"
код программы на это условие:

procedure TForm2.Button1Click(Sender: TObject);
begin
if Data.ADOTable5.FieldByName('дата_пр иема').Value<=Round(Now) then
MessageBox(Form2.Handle, PChar('Есть опаздывающие пациенты!'), 'Сообщение', MB_OK);
end;


После этого нажимаю на другую кнопку которая и должна показать список этих пациентов .... я не очень хорошо программирую( но учусь.... может мне как то по другому все сделать может условие другое надо задать ???

P.S: но сообщение нужно обязательно вывести , условие такое ...
apple66 вне форума Ответить с цитированием
Старый 20.03.2012, 12:39   #6
apple66
 
Регистрация: 19.03.2012
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
rdama, супер! браво! точно подмечено! Мой респект!
а я вчера, каюсь, проглядел логический смысл фразы



А может быть, там с логикой всё нормально!
например, TC при назначении приёма ставит там дату 1.01.2345. а если пациент пришёл на приём - тогда заменяется на дату приёма!

впрочем, соглашусь с rdama - автор темы, расскажите, каким образом фиксируется, был пациент на приёме или нет?!

Я просто ввожу данные в базу и оттуда по условии ищу.... если есть то выводится сообщение (есть опаздывающие пациенты).... после это надо как то скопировать этих пациентов в отдельную базу (или просто показать на другой таблице)

Может мне все по другому сделать? Может есть легкий путь ? подскажите...
apple66 вне форума Ответить с цитированием
Старый 20.03.2012, 14:15   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

apple66, тут очень многое зависит от использования (назначения) полей в вашей таблице.

ну вот, возьмём поле "дата_приёма". Если вы собираете больного имярек принять 20 марта в 10-00 - в этом поле что-то прописывается? Если да - то что?

Теперь дальше. Больной имярек пришёл 20 марта в 10-00. Куда заносится отметка о том, что он посетил врача? А если она не пришёл 20 марта в 10-00, то куда об этом делается отметка? (я уже молчу о ситуации, когда он пришёл, скажем в 11-00...)

т.е. это то, о чём мы с rdama твердим...
перечитывайте эту фразу до полного просветления
Цитата:
Сообщение от rdama
Следовательно должна быть либо вторая дата (фактического прихода) на момент планирования равна NULL либо признак пришел/не пришел.
а без этого составлять запрос - бессмыслено!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.03.2012, 03:03   #8
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Цитата:
но я сделал без времени ,,,, (просто с датой)
Это как так? Вот как тогда можно узнать опоздал человек или нет?
Только если он не явился в означенный день?
Вам не кажется это глупым.
У вас система показывает опоздавших на 1 день это в лучшем случае.
А опаздывать можно на 5 минут, полчаса, на час и т.д.
Завязывайте с реализацией программы и возвращайтесь на этап проектирования пока не стало слишком поздно.
Вот такое впечатление что вы пытаетесь решать задачу в которой не в зуб ногой.
И не имеете о ней даже маломальского представления.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести на консоль слова,которые не содержат цифр. Luchia Помощь студентам 1 20.12.2011 13:08
вывести на экран чила от 1 до N, которые делятся на 4 Сергей505 Паскаль, Turbo Pascal, PascalABC.NET 16 12.12.2011 14:25
Вывести список трёхзначных чисел,которые делятся на произведение своих цифр в 5 колонках Dima170792 Помощь студентам 1 12.06.2011 22:16
:'( вывести даты которые прошли... Julia_Lisha SQL, базы данных 1 17.05.2009 13:44
Из чисел 1, 1+ 1/2, 1+1/2+1/3 , … вывести на экран те, которые меньше а. umiko Microsoft Office Excel 1 16.05.2009 08:29