Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запрос на замену / 8 сообщений из 8, страница 1 из 1
03.11.2005, 22:28:10
    #33361270
Max_Kulikov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на замену
Помогите, пож, написать запрос, который делал бы следующее: есть отдельный столбец в dbf-файле с датами за прошлый год, необходимо:
а) если месяц и день в дате меньше или равны системному, то чтоб год менял на текущий
б) если месяц и день больше текущего, то чтоб год менял на 2004.
Заранее огромное спасибо
...
Рейтинг: 0 / 0
03.11.2005, 22:29:33
    #33361271
Max_Kulikov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на замену
Кстати, версия FoxPro5
...
Рейтинг: 0 / 0
04.11.2005, 06:06:43
    #33361360
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на замену
Max_KulikovПомогите, пож, написать запрос, который делал бы следующее: есть отдельный столбец в dbf-файле с датами за прошлый год, необходимо:
а) если месяц и день в дате меньше или равны системному, то чтоб год менял на текущий
б) если месяц и день больше текущего, то чтоб год менял на 2004.
Заранее огромное спасибо
Примерно так (если правильно понял):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
SET DATE GERMAN
SET CENTURY ON 

* Проверка работы функции
?F_date(CTOD("21.05.2002"))
?F_date(CTOD("21.12.2002"))

* Сам запрос
SELECT <My_table>.old_date, F_date(<My_table>.old_date) as new_date,;
  ... <возможны другие поля> ;
  FROM <My_table> ;
  INTO CURSOR Q_new_date

FUNCTION F_date
  LPARAMETERS m.old_date
  LOCAL m.new_date
  IF RIGHT(DTOS(m.old_date), 4 ) <= RIGHT(DTOS(DATE()), 4 )
    m.new_date = CTOD(LEFT(DTOC(m.old_date), 6 )+STR(YEAR(DATE()), 4 ))
  ELSE
    m.new_date = CTOD(LEFT(DTOC(m.old_date), 6 )+"2004")
  ENDIF
  RETURN m.new_date
ENDFUNC
...
Рейтинг: 0 / 0
07.11.2005, 16:11:36
    #33364527
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на замену
Hi Max_Kulikov!

Код: plaintext
1.
2.
UPDATE таблица ;
    SET год = IIF(DATE(YEAR(DATE()), месяц, день) > DATE(), ;
         2004 , YEAR(DATE()))


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
07.11.2005, 16:24:53
    #33364600
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на замену
Hi, Igor Korolyov !
Автор, по моему, попросил:
Помогите, пож, написать запрос ...
...
Рейтинг: 0 / 0
07.11.2005, 19:25:53
    #33365088
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на замену
Hi Владимир!

ЗАПРОС НА ЗАМЕНУ. А не просто "запрос".
В терминологии Access любая SQL конструкция называется запросом. В частности
UPDATE - это и есть "запрос на обновление".
Подтверждением моего понимания служит и сам вопрос - перечитай его ещё раз.
Там говорится про менял , а не создал новую таблицу

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
08.11.2005, 07:11:02
    #33365401
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на замену
Hi Igor Korolyov !
ЗАПРОС НА ЗАМЕНУ. А не просто "запрос".
В терминологии Access любая SQL конструкция называется запросом. В частности UPDATE - это и есть "запрос на обновление".
Подтверждением моего понимания служит и сам вопрос - перечитай его ещё раз. Там говорится про менял , а не создал новую таблицу Да, я неправильно понял.
...
Рейтинг: 0 / 0
08.11.2005, 07:46:17
    #33365423
Kulikoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на замену
Спасибо большое!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запрос на замену / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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