Сравнение переменной даты в командной строке FoxPro

Я хотел бы выполнить следующие команды:

//// принять к x //// показать все для date_field=x

Цель этих команд - ввести значение x, после чего я собираюсь отобразить все регистры из таблицы, переменная date_field которой равна x Поле date_field имеет переменную типа (Date,8)

Эти переменные даты хранятся следующим образом: 03/11/17, 23.04.17 и т. Д. С клавиатуры набираю например 03/11/17. Затем я пытаюсь сравнить, я получил ошибки. Может ли кто-нибудь сказать мне правильный набор команд для выполнения этой задачи?

4 ответа

Решение

Если я понимаю, что вы присваиваете значение, которое вы ввели, переменной 'x', а затем используете 'x' для сравнения с полем даты.

Возможно, проблема в том, что "x" - это строка, и вы пытаетесь сравнить ее с датой. Поэтому вам нужно использовать функцию ctod(). Например:

select * from mytable where date_field = ctod(x)

Также будьте осторожны с вашими региональными настройками.

Когда вы говорите, что печатаете на клавиатуре, значит ли это, что foxpro подсказывает вам?

Вы можете настроить вход для получения объекта даты, подобного этому, в вашем файле file.prg:

inputdate = {  /  /  }
@10,25 SAY "Enter Input Date: MM/DD/YYYY" GET inputdate
READ

Используйте выражение литерала даты. В FoxPro это в форме {^ гггг / мм / дд}.

Например, чтобы сравнить с 11 февраля 2018 года, используйте {^2018/2/11}

Сравнение переменной даты в командной строке FoxPro

принять к х

показать все для date_field=x

Под "командной строкой" я предполагаю, что вы имеете в виду использовать командное окно Foxpro и вводить однострочные команды. Если нет, то вам нужно уточнить, что вы пытаетесь сделать.

Находясь в окне FP Command, вы вводите следующие строки:

x = {^2018/2/11}  && Assign this value to 'x' if you want the date February 11 2018
SELECT * FROM MyDataTable WHERE Date_Field = x INTO CURSOR Results READWRITE  && use SQL Query to get results from Data Table MyDataTable
SELECT Results   && go to results table/cursor
BROWSE     && make it visible on-screen  

Поскольку ваш вопрос носит очень общий и базовый характер, вы можете потратить некоторое время на просмотр бесплатных обучающих видео по VFP по адресу:
Бесплатное онлайн видео-учебник VFP

Да, эти видео о Visual Foxpro, а не о OLD Foxpro, но есть много общего.

Удачи

Другие вопросы по тегам