Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
21.08.2008, 08:48
|
|||
|---|---|---|---|
|
|||
RS2005, выражения и даты |
|||
|
#18+
Здравствуйте уважаемые Покопался на форуме поискал ответ на свой вопрос, ничего вразумительного не попалось. Вопрос в следующем: в результирующем наборе данных есть поле с датой. Мне необходимо в колонке анализировать ее и отображать правильное значение (из бд все даты null приходят в виде 01.01.1900: особенности программы). Во первых я никак не могу понять в каком формате мне нужно указывать дату в условии. Попытка указать 01/01/1900 приводит к ошибке, использование функции DATE недопустимо в условии. Подскажите что я делаю неправильно и как с этим можно бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.08.2008, 17:21
|
|||
|---|---|---|---|
RS2005, выражения и даты |
|||
|
#18+
Программа случайно не Axapta ? $-) Универсальный формат даты для MSSQL Server - "YYYYMMDD". Ну или воспользоваться ф-ей convert ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2008, 07:21
|
|||
|---|---|---|---|
|
|||
RS2005, выражения и даты |
|||
|
#18+
Она самая) любимая аксапта) Вопрос все же остался открытым. Поможете коллега как написать expression чтобы отображать в колонке значение даты если оно не равно 01.01.1900. Я пробовал вот так, не получается Код: plaintext [rsRuntimeErrorInExpression] The Value expression for the textbox ‘DateNovelty’ contains an error: Operator '=' is not defined for type 'Date' and type 'Double'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2008, 09:02
|
|||
|---|---|---|---|
RS2005, выражения и даты |
|||
|
#18+
KingPeasОна самая) любимая аксапта) Вопрос все же остался открытым. Поможете коллега как написать expression чтобы отображать в колонке значение даты если оно не равно 01.01.1900. Я пробовал вот так, не получается Код: plaintext [rsRuntimeErrorInExpression] The Value expression for the textbox ‘DateNovelty’ contains an error: Operator '=' is not defined for type 'Date' and type 'Double'. Ещё бы! У тебя разделители воспринимаются как знаки деления. При сравнении в приведённом тобой выражении используй строку (в кавычках!) с разделителями частей даты - точками "1900.01.01". Но это будет чувствительно к текущим региональным установкам. Лучше пойти более универсальным и надёжным путём. Преобразуй дату в строку сравнивай строки. Можно всё сделать на стороне SQL-сервера или на стороне клиента (SSRS). Возможны и промежуточные варианты. Вообще говоря, я бы рассмотрел конвертацию даты в строку и дальнейшее преобразование нулевой даты в пустую строку в вычисляемом поле SQL-запроса датасета. Аналог функции Iif в T-SQL - функция CASE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.08.2008, 22:47
|
|||
|---|---|---|---|
|
|||
RS2005, выражения и даты |
|||
|
#18+
=IIF(Fields!DateNovelty.Value = CDate("19000101"), "", Format(Fields!DateNovelty.Value, "dd.MM.yyyy")) --- This posting is provided "AS IS" with no warranties, and confers no rights. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.09.2008, 06:28
|
|||
|---|---|---|---|
|
|||
RS2005, выражения и даты |
|||
|
#18+
Код: plaintext Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.09.2008, 09:20
|
|||
|---|---|---|---|
RS2005, выражения и даты |
|||
|
#18+
KingPeas Код: plaintext Код: plaintext 1. 2. Я же говорил, конвертировать дату в строку и сравнивать строки! :E Мне почему-то кажется что Вы придуриваетесь ;) Хотя бы вот так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.09.2008, 09:27
|
|||
|---|---|---|---|
RS2005, выражения и даты |
|||
|
#18+
Кстати, необязательно преобразовывать дату именно в строку и сравнивать строки. Можно, например, конвертировать/сравнивать типы Int(32/64) или числа с плавающей точкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.09.2008, 09:42
|
|||
|---|---|---|---|
|
|||
RS2005, выражения и даты |
|||
|
#18+
GholaКстати, необязательно преобразовывать дату именно в строку и сравнивать строки. Можно, например, конвертировать/сравнивать типы Int(32/64) или числа с плавающей точкой. опять же Код: plaintext делаю это так Код: plaintext Выходит остается самое оптимальное в самой процедуре на SQL формируещей выборку данных сразу убивать дату для 01.01.1900. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.09.2008, 09:50
|
|||
|---|---|---|---|
RS2005, выражения и даты |
|||
|
#18+
Думаю, что добиться преобразования даты в число средствами SSRS безусловно можно. Но, по-моему, оптимальный способ - это действительно T-SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.09.2008, 10:04
|
|||
|---|---|---|---|
RS2005, выражения и даты |
|||
|
#18+
ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vbalr/html/d9edf5b0-e85e-438b-a1cf-1f321e7c831b.htm - "Visual Basic Language Reference Date Data Type (Visual Basic)" ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref7/html/M_System_DateTime_ToOADate.htm - "DateTime.ToOADate Method" Код: plaintext 1. 2. 3. 4. В Вашем случае: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=31&tablet=1&tid=1536750]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 133ms |

| 0 / 0 |
