Если вы желаете собрать значения, которые пользователь приложения ввел в форме, вы можете создать переменные для хранения этих значений и затем использовать их немедленно в предложении SQL SELECT или исполнить предложение позже. Для получения более подробной информации о настройке запросов с помощью SQL SELECT предложений смотрите Как: настраивать запросы (Queries) с помощью предложений SQL SELECT и Команда SELECT - SQL.

Для сбора значения ввода пользователя для немедленного использования

  • В предложении SQL SELECT включите имя формы или ссылку на форму там, где это применимо.

Приведенный ниже пример иллюстрирует, как собрать значения ввода пользователя из формы используя ссылку-ярлык, которая появляется в опции WHERE предложения SQL SELECT. Ссылка-ярлык, THISFORM, ссылается на текущую активную форму. Вы должны подставить имена элементов управления для ControlName1 и ControlName2.

 CopyCode imageСкопировать код
SELECT * ;
   FROM tastrade!customer ;
   WHERE customer.country = ;
    THISFORM.ControlName1.Value ;
   AND customer.region = 
THISFORM.ControlName2.Value ;
   GROUP BY customer.postal_code ;
   ORDER BY customer.postal_code, 
customer.company_name

Для хранения значений ввода пользователя из формы, когда вам не требуется использовать их пока форма активна, используйте в программном коде переменные. Например, если вы не желаете использовать ссылки на элемент управления, вы можете определить переменные в коде для хранения значений, возвращаемых элементом управления.

Для сбора значения ввода пользователя для использования в дальнейшем

  1. Определите переменные, которые вы желаете использовать для хранения значений ввода пользователя.

  2. В предложении SQL SELECT включите имя переменной там, где это применимо.

Приведенный ниже пример иллюстрирует, как собрать значения ввода пользователя из формы с использованием переменной, cValue, для хранения значения, возвращаемого элементом управления в текущей активной форме. Ярлык-ссылка, THISFORM, ссылается на текущую активную форму. Переменная появится в опции WHERE предложения SQL SELECT для выбора страны, которая соответствует значению cValue.

 CopyCode imageСкопировать код
cValue = THISFORM.ControlName.Value
SELECT * ;
   FROM tastrade!customer ;
   WHERE customer.country = cValue ;
   GROUP BY customer.postal_code ;
   ORDER BY customer.postal_code, ;
     customer.company_name

Если вы не определите переменной до запуска запроса, появится сообщение об ошибке, указывающее, что переменная не найдена. Если переменная не была определена в коде, Visual FoxPro подразумевает, что переменная была инициализирована ранее.

Смотрите также