|
|
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, уважаемые гуру )) Наткнулась на проблему при работе с датами. Много читала, пробовала, но решение так и не найдено. Итак, суть моей беды: имеется база access в которой есть таблица с расписанием встреч (в ней соответственно есть столбец с датой встречи типа Дата/Время). На форме есть MonthCalendar и ДБГрид, который отображает подробности встреч. Задача: пользователь выбирает дату в MonthCalendar и в ДБГрид отображаются только встречи на указанную дату. По умолчанию при активации формы должны отобразится встречи на только текущую дату. Камень об который запнулась: Для того чтобы изначально отображались встречи на сегодня вытащила дату из MonthCalendar MonthCalendar1.Date:=Now; но она представляет собой не дату 06.06.2017 а число 42892,715099 и как дальше с этим числом сравнивать даты в моей таблице??? Пыталась пойти путем преобразования этого числа и даты из базы в строки.... но тут натолкнулась на несовпадение типов TSting и String Подскажите как искать записи по датам с использованием MonthCalendar. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 15:14:34 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Хиль42892,715099 TDateTime(42892,715099) и будет дата с временем. В делфи дата - число с плавающей точкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 15:20:06 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Причем в запросе нужно использовать параметры и выборку между trunc(SomeDate) и trunc(SomeDate+1). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 15:22:11 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Обнули время в календаре.Когда бросаеш на форму в время фиксируется текущим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2017, 16:06:51 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Ошибка "несоответствие типов string и integer" datamodule1.QTemp.SQL.Add('Select a.Idzak from Zakaz a where a.dateZ='+FormatDateTime('mm/dd/yyyy',MonthCalendar1.Date))+''); я уже и с переменными пробовала... ничего путного. Пыталась просто посмотреть какие значение выдает календарь s:=trunc(MonthCalendar1.Date); - число 2.65464*e-307 s:=Datetimetostr(trunc(MonthCalendar1.Date)); результат ' ' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 08:46:47 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
ХильОшибка "несоответствие типов string и integer" datamodule1.QTemp.SQL.Add('Select a.Idzak from Zakaz a where a.dateZ='+FormatDateTime('mm/dd/yyyy',MonthCalendar1.Date))+''); я уже и с переменными пробовала... ничего путного. Пыталась просто посмотреть какие значение выдает календарь s:=trunc(MonthCalendar1.Date); - число 2.65464*e-307 s:=Datetimetostr(trunc(MonthCalendar1.Date)); результат ' ' Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 08:54:32 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Gerasimenko, спасибо за ответ. Код: pascal 1. 2. 3. 4. 5. ошибка: Qtemt параметр dateZ не найден ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 09:24:01 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
ХильQtemt параметр dateZ не найден Где двоеточие перед параметров в запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 09:25:31 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Просмотрела... Заработало) спасибо большое !!!. А-то третий день на этой ерунде залипала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 09:36:27 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2017, 11:10:05 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
И еще в тему работы с датами. Еще есть желание на форме сделать напоминалку о днях рождения сотрудников. С разбега воткнулась в проблему разделения даты на число, месяц и год. Умом то понимаю что нужно сначала число текущей даты сравнить с теми что в базе, а потом месяц. А как это реализовать не поняла. Смотрела исходник в одной программе, но там что-то накрутили так много... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 13:49:10 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Хиль, extract day/month from birthday? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 14:21:32 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
ХильИ еще в тему работы с датами. Еще есть желание на форме сделать напоминалку о днях рождения сотрудников. С разбега воткнулась в проблему разделения даты на число, месяц и год. Умом то понимаю что нужно сначала число текущей даты сравнить с теми что в базе, а потом месяц. А как это реализовать не поняла. Смотрела исходник в одной программе, но там что-то накрутили так много... DecodeDate, EncodeDate для Delphi? в СУБД свои есть. Только зачем, не понятненько.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 14:42:22 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Хиль, Я бы в базе, рядом с непосредственно датой рождения, записывал бы еще число - номер дня в году. При этом считать, что все года високосные. Т.е. 1 марта всегда будет 61 днем. Тогда такое же число вычисляется для текущей даты и сравнивается с тем, что в базе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 15:04:05 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Хиль, Я бы в базе, рядом с непосредственно датой рождения, записывал бы еще число - номер дня в году. При этом считать, что все года високосные. Т.е. 1 марта всегда будет 61 днем. Тогда такое же число вычисляется для текущей даты и сравнивается с тем, что в базе Зачем? SysUtils.IncYear - для Delphi, в СУБД свои функции есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 15:49:10 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
GerasimenkoЗачем?Для индексации. GerasimenkoSysUtils.IncYear - для Delphi,И к какой дате ты предлагаешь увеличивать год? Если делать по тупому, то тогда уже DecodeDate + функции СУБД и сравнивать день и месяц. А IncYear (к слову DateUtils ) я сам не понимаю как можно использовать в этой задаче ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 15:54:21 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_GerasimenkoЗачем?Для индексации. GerasimenkoSysUtils.IncYear - для Delphi,И к какой дате ты предлагаешь увеличивать год? Если делать по тупому, то тогда уже DecodeDate + функции СУБД и сравнивать день и месяц. А IncYear (к слову DateUtils ) я сам не понимаю как можно использовать в этой задачеОт даты рождения. Разница между годом рождения и нужным годом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 15:55:59 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
ребят, а что написать то в итоге? Если писать какой день в году, то наверно не будет точно отображаться др. Наверняка косячить будет. Да и кто этим заниматься будет... Задача предполагает запись большого количества людей, если каждому еще считать дни, так это секретарь три месяца будет с этим сидеть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 18:31:24 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Хиль, день в году выставляется одним апдейтом за секунды в базе. База-то вообще какая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 18:40:24 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Хильребят, а что написать то в итоге? Если писать какой день в году, то наверно не будет точно отображаться др. Наверняка косячить будет. Да и кто этим заниматься будет... Задача предполагает запись большого количества людей, если каждому еще считать дни, так это секретарь три месяца будет с этим сидеть. Код: sql 1. 2. 3. 4. 5. для MSSQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 18:57:11 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
GerasimenkoХильребят, а что написать то в итоге? Если писать какой день в году, то наверно не будет точно отображаться др. Наверняка косячить будет. Да и кто этим заниматься будет... Задача предполагает запись большого количества людей, если каждому еще считать дни, так это секретарь три месяца будет с этим сидеть. Код: sql 1. 2. 3. 4. 5. для MSSQLдля 29 апреля допилить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 19:01:26 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
GerasimenkoGerasimenkoпропущено... Код: sql 1. 2. 3. 4. 5. для MSSQLдля 29 апреля допилитьФЕВРАЛЕМ КОНЕЧНО... СОВСЕМ ЗАРАБОТАЛСЯ :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 19:20:00 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. КАК ТО ТАК ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 19:39:06 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Gerasimenko Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. КАК ТО ТАК наоборот надо Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. у меня вроде работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 20:01:27 |
|
||
|
работа с MonthCalendar
|
|||
|---|---|---|---|
|
#18+
Хильребят, а что написать то в итоге? если каждому еще считать дни , так это секретарь три месяца будет с этим сидеть. Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2017, 20:35:19 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39467498&tid=2042176]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
78ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 405ms |

| 0 / 0 |
