Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Oper Гость
|
Добавлено: Пт Июл 11 2003 17:09 Заголовок сообщения: Как определить содержимое переменной типа Date на VBA? |
|
|
Помогите определить содержимое переменной типа Date. Т. е. нужно узнать, что там: только дата, только время, дата и время. Буду оооочччень благодарен. |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Пт Июл 11 2003 17:49 Заголовок сообщения: Re: Как определить содержимое переменной типа Date на VBA? |
|
|
Насколько я помню, внутреннее представление типа Date -- это действительное число, у которого целая часть -- дата, дробная -- время. |
|
Вернуться к началу |
|
|
Oper Гость
|
Добавлено: Сб Июл 12 2003 06:29 Заголовок сообщения: Re: Как определить содержимое переменной типа Date на VBA? |
|
|
Но как быть, если мне надо ввести время 0:00:00, которое обозначает неинициализированное время и VBA, работая с этой переменной такое время игнорирует. То же самое с датой 30.12.1899. |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Пн Июл 14 2003 10:49 Заголовок сообщения: Поясни, что значит игнорирует? (-) |
|
|
- |
|
Вернуться к началу |
|
|
Oper Гость
|
Добавлено: Пн Июл 14 2003 14:41 Заголовок сообщения: Re: Поясни, что значит игнорирует? (-) |
|
|
Игнорирует - это значит в поле ввода не выводит ничего. Если в переменной хрнится дата отличная от 30.12.1899 и время 0:00:00, то в поле ввода выведется только эта дата. Если в переменной хранится время отличное от 0:00:00 и дата 30.12.1899, то выведется только время, если хранится 30.12.1899 0:00:00, то выведется только 0:00:00. |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Пн Июл 14 2003 16:46 Заголовок сообщения: Re: Поясни, что значит игнорирует? |
|
|
А ты не хочешь использовать функцию format$(), а само значение символьное? Например, примерно такой вариант me.text1=Format$(0#, "dd.mm.yyyy hh:mm:ss") выводит именно "30.12.1899 0:00:00" |
|
Вернуться к началу |
|
|
Oper Гость
|
Добавлено: Вт Июл 15 2003 10:25 Заголовок сообщения: Re: Поясни, что значит игнорирует? |
|
|
А как все таки определить, что именно лежит в переменной. Есть календарь и часы, которые могут работать с одной переменной. В качестве параметра может использоваться строка, удовлетворяющая функции IsDate. Но дальше нужно точно знать, что там: дата, котороая может использоваться как начальное значение в календаре, но не может использоваться в часах; время или и то и друго вместе. |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Вт Июл 15 2003 12:39 Заголовок сообщения: Снова ответ от 11-07-2003 18:49 (+) |
|
|
ИСпользуй переменную в тех местах, где используется число. Например, Int(перемДата) -- это число дней от 31.12.1899 (0 -- сама дата 31.12.1899, 1 -- 01.01.1901 и т. д.), перемДата-Int(перемДата) -- это количество секунд от 00:00:00 (0 -- это само время 00:00:00, 0.000011574 -- это 00:00:01 и т. д.).
Все это верно, конечно, только в том случае, если я правильно помню внутреннее представление даты в бейсике (см. ответ Борис 11-07-2003 18:49). |
|
Вернуться к началу |
|
|
|