powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подскажите с запросом
8 сообщений из 8, страница 1 из 1
Подскажите с запросом
    #32757684
alexFV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица ReeFile с полем символьным полем fname.
Поле содержит след. данные, например:
AA041027
AB041027
BC041026 и т.д. т.е. 2 буквы + дата(YYMMDD).

Надо получить курсор с 2 полями dt_f (date) и fname (char), т.е. для тех же данных:
27.10.2004 AA041027
27.10.2004 AB041027
26.10.2004 BC041026 т.е. просто выделить дату.

Создаю запрос:
SELECT DATE(VAL(LEFT(ALLTRIM(STR(YEAR(DATE()))),2)+SUBSTR(fname,3,2)),VAL(SUBSTR(fname,5,2)),VAL(SUBSTR(fname,7,2))) as dt_f, fname ;
FROM ReeFile WHERE DATE(VAL(LEFT(ALLTRIM(STR(YEAR(DATE()))),2)+SUBSTR(fname,3,2)),VAL(SUBSTR(fname,5,2)),VAL(SUBSTR(fname,7,2))) BETWEEN pdFirstDate AND pdEndDate ;
INTO CURSOR curDateFile

Выдается ошибка:
Function argument value, type or count is invalid

Вроде просто, а не могу найти где ошибка.
...
Рейтинг: 0 / 0
Подскажите с запросом
    #32757780
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
date() - возврщает текущую дату он без параметров
тебе нужно ctod например
...
Рейтинг: 0 / 0
Подскажите с запросом
    #32757790
VadimS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
примерно так?
Код: plaintext
1.
2.
3.
SELECT CTOD(SUBSTR(fname, 7 , 2 )+'.'+SUBSTR(fname, 5 , 2 )+'.'+SUBSTR(fname, 3 , 2 )) as dat,fname;
FROM ReeFile ;
Where CTOD(SUBSTR(fname, 7 , 2 )+'.'+SUBSTR(fname, 5 , 2 )+'.'+SUBSTR(fname, 3 , 2 ))=CTOD('26.10.2004')
...
Рейтинг: 0 / 0
Подскажите с запросом
    #32757794
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
set date german
ctod(substr(x,7,2)+'.'+substr(x,5,2)+'.19'+sbstr(x,3,2))
...
Рейтинг: 0 / 0
Подскажите с запросом
    #32757795
alexFV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VFP 8.
Help по date():

Returns the current system date, which is controlled by the operating system, or creates a year 2000-compliant Date value.

DATE([nYear, nMonth, nDay])
Return Values
Date

Parameters
nYear
Specifies the year returned in the year 2000-compliant Date value. nYear can be a value from 100 to 9999.
nMonth
Specifies the month returned in the year 2000-compliant Date value. nMonth can be a value from 1 to 12.
nDay
Specifies the day returned in the year 2000-compliant Date value. nDay can be a value from 1 to 31.
...
Рейтинг: 0 / 0
Подскажите с запросом
    #32757803
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Returns the current system date
а вопрос ставился по другому
...
Рейтинг: 0 / 0
Подскажите с запросом
    #32757835
OLeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leaf Returns the current system date
а вопрос ставился по другому
Это что, вместо спасибо?
...
Рейтинг: 0 / 0
Подскажите с запросом
    #32757922
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafdate() - возврщает текущую дату он без параметров
тебе нужно ctod например
Начиная с версии VFP6 функция Date() может иметь параметры. Об этом собственно и написал OLeo . А вот если параметры НЕ заданы, то в этом случае и возвращается текущая дата.

alexFV
Попробуйте в командном окне дать заведомо некорректную команду:

?DATE(2004,15,51)

Вы получите указанное сообщение об ошибке. Это значит, что одно из символьных полей содержит некорректное, с точки зрения даты, значение.

Как вариант, оставьте строку "как есть" в символьном виде и сравнивайте с датой перведенной также в символьный вид через DTOS() (это не опечатка, на конце "S", не надо путать с функцией DTOC())

Код: plaintext
1.
2.
3.
4.
SELECT ;
SUBSTR(fname, 7 , 2 )+'.'+SUBSTR(fname, 5 , 2 )+'.'+SUBSTR(fname, 3 , 2 )) as dt_f, ;
fName ;
FROM ReeFile ;
WHERE LEFT(STR(YEAR(Date()), 4 ), 2 )+SubStr(fname, 3 ) BETWEEN DTOS(pdFirstDate) AND DTOS(pdEndDate)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подскажите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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