powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Фильтр по дате
19 сообщений из 19, страница 1 из 1
Фильтр по дате
    #39968354
ValeryIvanovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть 2 даты BegDate,EndDate
Необходимо выбрать в Select ... From .. Where Between(Date,BegDate,EndDate) ...
Не работает
Тогда делаю так:
*
BegDateC="{^"+DTOC(BegDate)+"}"

EndDateC="{^"+DTOC(EndDate)+"}"

_Fltr="Between(DateZ,"+BegDateC+","+EndDateC+")"

Select ... From .. Where &_Fltr ...

Ошибка в Select Неправильный формат даты

SET DATE GERMAN

Помогите, пожалуйста, с _Fltr=
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968355
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если так попробовать
Код: sql
1.
Select ... From .. Where Between(Date,BegDate,EndDate) ...
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968356
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой тип у Date, BegDate, EndDate ?
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968357
ValeryIvanovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,
Вначале я так и пробовал Результат - файл пустой
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968358
ValeryIvanovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

Date
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968359
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeryIvanovich
Dima T,
Вначале я так и пробовал Результат - файл пустой

Значит синтаксис правильный, но неверные данные
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968361
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что в BegDate, EndDate проверь. И поставь
Код: sql
1.
set century on


чтобы год 4-мя цифрами выводился
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968362
ValeryIvanovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

Set century on
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968365
ValeryIvanovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

EndDate - D, 13.06.2020
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968367
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все правильно написано, так должно работать
Код: sql
1.
Where Between(Date,BegDate,EndDate)
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968368
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeryIvanovich
Dima T,

EndDate - D, 13.06.2020

Выведи перед запросом
Код: sql
1.
MessageBox(DTOC(BegDate) + " " + DTOC(EndDate))
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968373
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeryIvanovich,

Попробуй тупо
Код: sql
1.
Where date>BegDate


Получишь что то?
Ну и название поля конечно... Date
Я бы поменял
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968379
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавьте префикс "m." перед именами переменных. Возможно, у Вас открыта какая-нибудь таблица у которой есть такие имена.

А также алиас таблицы перед полем Date. Возможно, не из той таблицы поле Date анализируется

Код: sql
1.
Select ... From MyTab Where Between(MyTab.Date, m.BegDate, m.EndDate) ...



Т.е. добавьте явное указание на то, чего и с чем сравниваете. FoxPro, конечно, может и сам определить, но иногда он определяет не то, что надо
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968386
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, еще попробуй использовать не нативную функцию FoxPro, а встроенную опцию Select-SQL в таком синтаксисе

Код: sql
1.
Select ... From MyTab Where MyTab.Date Between m.BegDate AND m.EndDate ...



Вроде бы, в отношении функции Between() глюков внутри Select-SQL замечено не было, но, мало ли...
...
Рейтинг: 0 / 0
Фильтр по дате
    #39968427
ValeryIvanovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,
Проблема в том, что у меня кроме даты еще есть дополнительный фильтр _Fltr (формируется пользователем) и я хотел бы их содединить в один Fltr, но не выходило перевести Between(date,Date1,Date2) в символьный вид, чтобы Select воспринимал правильно.
Сейчас работает в Select ... Where Between(Date,Date1,Date2) &Fltr (где Fltr=" and "+Fltr, если Fltr не пустой либо Fltr="")
Вопрос перевода части сложного запроса с датой в символьный вид пока открыт
Для Set Date American дата д.быть в виде {^2012.10.01} а для Set date German ?
...
Рейтинг: 0 / 0
Фильтр по дате
    #39969359
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeryIvanovich, Насколько я понял, ты хочешь получить строковое представление фильтра:

Код: sql
1.
_Fltr = "Between(DateZ,{^2020.01.01},{^2020.0130})" 


т.е. так это будет выглядеть, если твою переменную вывести на экран.

А вариант
Код: sql
1.
 _Fltr = "Between(DateZ,{^"+alltrim(DTOC(startDate))+"},{^"+alltrim(DTOC(endDate))+"})"

тебе не подойдет ?
Т.е. даты будут вычисляться не на момент создания макроподстановки, а когда будет вызываться фильтр.
В этом случае, переменные StratDate и EndDate не должны меняться, пока фильтр работает.
...
Рейтинг: 0 / 0
Фильтр по дате
    #39969382
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeryIvanovich
Для Set Date American дата д.быть в виде {^2012.10.01} а для Set date German ?

Дата пишется в формате {^ГГГГ-ММ-ДД} и он не зависит от set date
...
Рейтинг: 0 / 0
Фильтр по дате
    #39969563
ValeryIvanovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
faustgreen,
Спасибо
...
Рейтинг: 0 / 0
Фильтр по дате
    #39969564
ValeryIvanovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,
Спасибо!
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Фильтр по дате
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]