All Forums
 Категория Visio
 Форум Вопросы и ответы
 Вывести дату из БД.
Author Previous Topic Topic Next Topic  

mers

Russia
159 Posts

Posted - 02/05/2008 :  13:07:42
Здравствуйте, ситуация следующая:

Шейп связан с БД. В одну из кастом пропертей получаю дату и время из таблицы БД. Далее следует проверка: если дата текущая, то в текст шейпа выводится время, если нет, то пустая строка.

Шейп связывается нормально и данные из БД получаю нормально - в кастом проперти получаю строку содержащую дату и время. Но вот сравнить с текущей датой в текст фиелд никак не получается.

Пишу что-то вроде IF(DATEVALUE((Prop.datetime)) = DATEVALUE(NOW()), TIMEVALUE(Prop.datetime), "")
формула вводится, но не работает.
подскажите в чем проблема?
или может есть другой путь решения проблемы.

Edited by - mers on 02/05/2008 13:09:06

Tumanov

Russia
1198 Posts

Posted - 02/05/2008 :  19:28:20
Интересный получился вопросик... Мне понравилось :)
Неточностей здесь вроде бы две:

2. Вы пытаетесь в зависимости от условия записать в ячейку либо значение типа TIMEVALUE, либо строку (пустую). Наверное это не правильно. Лучше вместо TIMEVALUE(Prop.Row_1) написать что-то типа FORMAT(TIMEVALUE(Prop.Row_1),"HH:mm")

1. Операция сравнения. Слева в качестве аргумента ссылка на ячейку, а справа функция. Похоже, что функция преобразует значение времени в соответствии с установкой Windows, а в ячейку записывается в другом формате, независимо от этой установки. Когда я попробовал подобрать этот формат, то формула заработала.
У меня работает формула:
=IF(DATEVALUE(Prop.Row_1)=DATEVALUE(NOW()),FORMAT(TIMEVALUE(Prop.Row_1),"HH:mm"),"")
когда в Prop.Row_1 записана формула DATEVALUE(Prop.Row_1) и установлен формат 3-Oct-93 или {{d-MMM-yy}}

Выглядит это не очень надежно. Возможно, такая игра с форматами на другой машине не сработает. В качестве варианта можно попробовать и DATEVALUE(NOW()) тоже пропустить через ячейку (пусть преобразования станут одинаковыми). И в правой части сравнения тоже сослаться на ячейку.
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)