|
|
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Кароче Для степлера: Есть функция CLng - если уж так охота из даты получить число и вывести его на печать или использовать в динамическом создании строк 2 Саныч: Я понял, что переменные уже типа дата Я хотел сказать, что у нас нет уверенности что эти перетенные содержат данные текущего года, т.е. там год точно тот? + Что-то еще не встал вопрос, тоды я поставлю :) А что делать если нажен список людей с датами рождения (ну напрмер: с 15 декабря по 15 января)? Так сказать в момент перехода года? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:21:33 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Steplerу меня в формате "дата" в таблице столбца "Datt(g)" значения типа 05/08/04. Запросом хочу сделать отбор дат между 36888 и 38011 Что мне для ентого нуна сделать?? where твоеполе between 36888 and 38011 SteplerКстати 1 = 01.01.1900 (воскресенье), а вот 0= 00.01.1900 (суббота) - как это ??? 00.01.1900 - это 31.12.1899. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:23:49 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
paparomeЯ понял, что переменные уже типа дата Я хотел сказать, что у нас нет уверенности что эти перетенные содержат данные текущего года, т.е. там год точно тот? Угу. Дошло, согласен. paparomeА что делать если нажен список людей с датами рождения (ну напрмер: с 15 декабря по 15 января)? Так сказать в момент перехода года? Тогда вместо and пишем or. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:27:21 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч Никакие функции для преобразования не нужны . paparomeКароче Для степлера: Есть функция CLng ... paparome - спасибо, сделал - работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:28:05 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Без CLng тоже должно. На что спорим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:29:59 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
SteplerКстати 1 = 01.01.1900 (воскресенье), а вот 0= 00.01.1900 (суббота) - как это ??? 00.01.1900 - это 31.12.1899.[/quot] У меня ПК выдает 00.01.1900 !!!! а Все рарьше воспринимает как текст... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:35:21 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Владимир СанычБез CLng тоже должно. На что спорим? Саныч, я не знаю- могет настройки , но у меня не работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:36:41 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Владимир СанычБез CLng тоже должно. На что спорим? Саныч - не надо Если динамически прикручивать даты к запросу, то просто так работать не будет (да что я тебе объясняю - ты и сам в курсе ) Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:46:00 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
paparomeА что делать если нажен список людей с датами рождения (ну напрмер: с 15 декабря по 15 января)? Так сказать в момент перехода года? select * from ... where (date1<=dateserial(year(date1),month(D_Rozhd),day(D_Rozhd)) and dateserial(year(date1),month(D_Rozhd),day(D_Rozhd))<=date2) or (date1<=dateserial(year(date2),month(D_Rozhd),day(D_Rozhd)) and dateserial(year(date2),month(D_Rozhd),day(D_Rozhd))<=date2) or ((year(date1)+1)<year(date2)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:54:35 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
или, соответственно: select * from ... where (dateserial(year(date1),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or (dateserial(year(date2),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or ((year(date1)+1)<year(date2)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:56:22 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
2 Geo СУПЕР ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 16:56:48 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
To Geo А в каком формате date1, date2 задавать. У меня в D_Rozhd например 01.01.80? Как мне их задать 04.01.01 или 040101 или еще как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 17:11:19 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Я проспорил про CLng. :^) Но про Left - им все равно пользоваться низя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 17:22:14 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
2 Z75 В формате даты. D_Rozhd - это поле типа дата? Так и оставь его имя как есть, не преобразовывай ничего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2004, 17:40:52 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Можете меня распнуть, но я так и не догнал как задать date1 и date2? дд.мм.гг или ддммгг или гг.мм.дд. или как? Подмогните, плз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 08:34:44 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Z75Можете меня распнуть, но я так и не догнал как задать date1 и date2? дд.мм.гг или ддммгг или гг.мм.дд. или как? Подмогните, плз Например, так: в модуле Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. в запросе вместо date1/Date2 писать GetDate1()/GetDate2() Перед выполнением запроса заполнить переменные нужными значениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 09:01:14 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Спасибо, GEO. Заработало! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 09:16:07 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Geoили, соответственно: select * from ... where (dateserial(year(date1),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or (dateserial(year(date2),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or ((year(date1)+1)<year(date2)) Попробовал... И не понял, что значение месяца - несущественно ??? В таком виде определяет только дату дня, а не месяца... Могет я и не прав, но у меня вот в таком виде "проходит": SELECT tabl.D_Rozhd, tabl.Fio FROM tabl WHERE (((CLng(DateAdd("yyyy",Format(Date(),"yyyy")-Format(tabl!D_Rozhd,"yyyy"),tabl!D_Rozhd)-37987))>=CLng(DateAdd("yyyy",Format(Date(),"yyyy")-Format([начало],"yyyy"),[начало])-37987) And (CLng(DateAdd("yyyy",Format(Date(),"yyyy")-Format(tabl!D_Rozhd,"yyyy"),tabl!D_Rozhd)-37987))<=CLng(DateAdd("yyyy",Format(Date(),"yyyy")-Format([конец],"yyyy"),[конец])-37987))) WITH OWNERACCESS OPTION; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 11:57:21 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Оригинально... Вариант ВС, усложненный до неузнаваемости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 12:11:32 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Z75Можете меня распнуть, но я так и не догнал как задать date1 и date2? дд.мм.гг или ддммгг или гг.мм.дд. или как? Подмогните, плз Не распнуть, а распять. Или расшесть. Их нельзя задавать ни так, ни так. Потому что это все варианты для типа String. А надо задавать как тип Date. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2004, 13:02:37 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
Geoили, соответственно: select * from ... where (dateserial(year(date1),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or (dateserial(year(date2),month(D_Rozhd),day(D_Rozhd)) between date1 and date2) or ((year(date1)+1)<year(date2)) было - значит было. вот зачам тут ((year(date1)+1)<year(date2)) пока не понял. на нулл тоже неплохо бы проверять. Ну, а "мой" вариант превращается в ( ([Дата рождения] Is Not Null) And DateAdd('yyyy',Round(DateDiff('m',[Дата рождения],[tdate])/12,0) ,[D_Rozhd]) between [StartDate] AND [LastDate]) ) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2004, 22:58:47 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
да. глупость моя неистощима... виноватс... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2004, 23:02:18 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
типа - вот это я сказать собирался... Код: plaintext 1. 2. 3. (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2004, 23:13:09 |
|
||
|
Получить список именнинников
|
|||
|---|---|---|---|
|
#18+
еще раз про глупость. У предложенного мной варианта "глубина проницания" (разность между границами интервала) - полгода. Дальше не работает. исправления: Код: plaintext 1. 2. 3. 4. 5. 6. 7. или эквивалентное Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. по существу неотличимы от варианта Geo, а потому - неинтересны. так што - я ушпокоилси... (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2004, 01:45:08 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32781160&tid=1670367]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 342ms |

| 0 / 0 |
