|
|
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
есть два поля [exit_date] и [in_date], нужно по ним В ЗАПРОСЕ найти разницу в днях в формате ДНИ. например: [exit_date]=16.06.2003 и [in_date]=16.06.2003 если вычитать напрямую [exit_date]-[in_date], то получаем 0, но как число, а если Format([Exit_time]-[in_time];"dd.mm.yyyy", то получаем 30.12.1899 (понятно,что для аксеса это тот же ноль, т.к. отсчет дат начинается именно отсюда) Вопрос: как мне на данном примере получить нулевую разницу по датам, но не ЧИСЛО, а ДАТУ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 16:16 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
напиши исходные значения и результат которые хочешь получить непонятно условие задачи типа посчитать стаж работы в компании в днях месяцах и годах если известна дата приема на работу и текущая дата? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 16:27 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
Может быть разбить на (Day-Day), (Month-Month), (Year-Year), а затем собрать обратно спомощью DateSerial((Year-Year),(Month-Month),(Day-Day))...так пойдет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 16:27 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
DateSerial(Year(exit_date)-Year(in_date),Month(exit_date)-Month(in_date),Day(exit_date)-Day(in_date)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 16:30 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
АлексейК: надо посчитать разницу в днях между указанными полями ИЛИ сколько дней прошло от начальной даты [in_date] до конечной [exit_date] Deminik: в запросах такая штука DateSerial вообще работает? а то я тут пробую разные варианты, пока кроме ошибок ничего не получил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 16:41 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
Не пробуй - все-равно лупит как ему надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 16:43 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
[exit_date]-[in_date] и дает разницу в днях если считать что время одинаковое в количестве дней какой тут формат даты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 16:47 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
подозреваю, что не в днях получается... попробую тогда полность прояснить в таблице четыре поля Exit_date, Exit_time, In_date, In_time надо найти разницу в днях и часах между Exit и In. Время я нахожу нормально: Format([Exit_time]-[in_time];"hh.nn"), дату вроде тоже: [exit_date]-[in_date] а вот собрать их вместе не могу, #ошибка. если разницу по дате определяю: Format([Exit_date]-[in_date];"dd"), получаю гразницу между одной и тойже датой в 30 дней. че же делать-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 17:02 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
datediff тебе в помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 17:14 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
с datediff у меня такая же фигня, как и с DateSerial, мне щас запрос надо сделать, а не процедурину писать. а в запросе он совсем не хочет работать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 17:17 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
о..пупеть авторВремя я нахожу нормально: Format([Exit_time]-[in_time];"hh.nn"), дату вроде тоже: [exit_date]-[in_date] а вот собрать их вместе не могу, #ошибка если находишь строку (см Format()), и не можешь сконкатенировать строки - это абзац. если нужны числа, - не пользуйся преобразованием к строке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 17:48 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
Что-то я не догоняю. Допустим имеем: Код: plaintext 1. 2. 3. Что ты должен получить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 17:56 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
ДАТА Format([Exit_date]-[in_date];"dd"), получаю гразницу между одной и тойже датой в 30 дней вот это время Format([Exit_time]-[in_time];"hh.nn") = 08:00 собираем вместе получаем 30 дней 08:00 часов только день один и тот же 16.03.2004, а время разное Exit_time=18:20:00 и in_time=10:20:00 вот тебе и о..пупеть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 17:59 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
to (c)VIG: я должен получить 23 часа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 18:01 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
"Раскололся"-таки :) Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 18:09 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
только спрашивали об этом: in_date=#26/03/2004# in_time=#12:00:00# exit_date=#27/03/2004# exit_time=#11:00:00# т.е.пример будет другой (cdate("3/27/4 11:00")-cdate("3/26/4 12:00"))*24 итог ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 18:14 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
охренеть ?FORMAT(0,"dd mm yyyy") 30 12 1899 ! понял теперь, почему ДЕНЬ даты 30 12 1899 = 30 или никуя не понял ? вместо FORMAT(0,"dd") возьми Str(0), или неявно (0 & "")? уцццацца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 18:19 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
Поторопился я малость. 2Автор Дата для Акцесса - это всего лишь число с плавающей запятой и "флажком" у соответствующей переменной/поля и т.п., который говорит о том, что значение по возможности следует преобразовать в удобоваримую строку а-ля день/месяц/год. Что происходит в этой строке? авторДАТА Format([Exit_date]-[in_date];"dd"), получаю гразницу между одной и тойже датой в 30 дней 1. Ехit_date - in_date Из даты вычитается дата. Результат нельзя привести, например, к литрам. Получается разница. В виде числа. Дней. Дробная часть - часть дней. О.5 (половина) дня = 12 часам. 2. Format(число;"dd") Первым аргуменом format получает число дней. Но откуда ему знать, что ты задумал? Коль скоро второй аргумент говорит, что это дата, он и считает "число" датой. 0, как ты уже видел, сопоставляется с 30.12.1899 г., от которой даты он "отрезает" "dd" и возвращает тебе в виде строки. Разницу в днях ты уже почти получил в п. 1.: int(Ехit_date - in_date) В часах: int(((Ехit_date - in_date) - int(Ехit_date - in_date))*24) и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 18:20 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
а даже так ?(cdate("3/27/4 11:00")-cdate("3/26/4 12:00"))*24 23.0000000000582 - то, чо надо (с точностью до ошибки представления чисел с плавающей запятой). Но я же говорил, хочешь конкатенировать строки - конкатенируй строки [d1]-[d2] & " дней " & Format([h1]-[h2], "hh nn") хочешь числа - собирай числа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 18:34 |
|
||
|
разница по датам
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 18:50 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32459159&tid=1675739]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
152ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 433ms |

| 0 / 0 |
