Поиск во вью

Тема в разделе "Lotus - Программирование", создана пользователем fvoice, 10 мар 2008.

  1. fvoice

    fvoice Гость

    в панели поиска, испльзуя кнопки можно получить следующую строку для поиска:
    Код (Text):
    Date is on 04.03.2008
    результатом будут все документы с полем Date равным 04.03.2008.
    Если же ввести эту строку вручную, то поиск не возвращает никаких результатов.

    как это обойти?
     
  2. Sandr

    Sandr Гость

    поиграйтесь с форматами даты...

    хотя дело тут, скорее всего, в другом.
    Когда Вы просто вводите 04.03.2008, ищется строка с таким значением, которой у Вас в документах нет, потому что в документах это дата. Потому придется использовать расширенное меню поиска во вьюхе.. тоесть "Date is on 04.03.2008"
     
  3. fvoice

    fvoice Гость

    если искать просто строку 04.03.2008, то находит.. а если
    то не находит, пробовал и в кавычках, и дату в квадратные скобки ставить.. не помогает
     
  4. Sandr

    Sandr Гость

    А.. тоесть Вы пишете Date is on 04.03.2008 ?
    Так он конечно не найдет.
    Пишите так
    Date = "04.03.2008"

    Сформируйте полнотекстовый запрос...
     
  5. fvoice

    fvoice Гость

    выдает ошибку, что не правильный запрос, и правильно ведь Date тип Date/Time,

    вообще если только сравнивать то можно и просто 04.03.2008 писать, а я хотел воспользоваться конструкцией для поиска в интервале дат: Date is between 04.03.2008, 10.03.2008

    проверил также региональные настройки и на клиенте и на сервере, стиоит русский вид отображения дат..
     
  6. Sandr

    Sandr Гость

    пишите так

    (date >= 04.03.2008) and (date <=10.03.2008)
     
  7. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    [Date] >= 04.03.2008 And [Date] <= 10.03.2008
     
  8. fvoice

    fvoice Гость

    немножко поправил
    Код (Text):
    field Date >= 11.03.2006 AND field Date <= 11.03.2008
    , а так +1, Спасибо!
     
  9. ozzyzello

    ozzyzello Гость

    Всем привет, нашел эту тему - у меня аналогичная проблема. Не могу реализовать запрос по полю типа Time/Date - запрос делаю такой: [work_date]>=05/28/2009

    Получаю ошибку: "Relationals operators nor supported in text fields", причем в другой базе данных такой запрос нормально проходит. Помогите решить ситуацию.
     
  10. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    work_date у тебя, вероятно, не дата
     
  11. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    В каком-то из документов это поле не заполнено или содержит дату как текст, т.е. у поля Data Type: Text, а не Time/Date.
     
  12. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Поле изначально было создано с типом "текст".

    В БД есть спец-структура "ItemDefTable" (на самом деле в разных источниках называется по-разному, например ещё UNK-table). Она содержит список полей, когда-либо сохранённых в БД и их тип. Значения данной таблицы используются, например, в редакторе @-формул. Они отображаются списком слева при выборе закладки "Reference\Datgabase fields". При построении полнотекстового запроса, значения таблицы доступны через кнопку "Field". При выборе поле типа "Date/Time" в комбобоксе выбора логического выражения появляется "is on" вместо "contains", характерного для текстового поля. Так можно определить, с каким типом запомнено в таблице ваше поле. Причём, тип может некорректно запомниться и во полне безобидной ситуации. Так, незаполненное на форме поле типа "Date/Time" сохраняется с типом "текст". Поэтому, чтоб для новой БД поиск работал корректно по полям с не текстовым типом, необходимо предпринимать специальные меры, обеспечивающие первое сохранение документа или формы с такими полями с правильным типом.
     
Загрузка...

Поделиться этой страницей