Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 expression is invalid.  [new]
MrIgorOK
Member

Откуда:
Сообщений: 20
Помогите решить проблему, при выполнении этого кода
SELECT книги
nomer=номер_книги
SELECT выдача
LOCATE for номер_книги=nomer
nomchit=номер_читателя
SELECT читатели
LOCATE FOR номер_читателя=nomchit
IF found()
thisform.Grid2.SetAll("DynamicBackColor", "IIF(номер_читателя=nomchit,RGB(255, 0, 0), rgb(255,255,255))","Column")
ENDIF
IF !FOUND()
MESSAGEBOX('Запись не найдена')
ENDIF
thisform.grid2.Refresh
THISFORM.Refresh

выдаёт ошибку
expression is invalid. use a valid expression for dynamicbackcolor property
25 янв 13, 15:31    [13828725]     Ответить | Цитировать Сообщить модератору
 Re: expression is invalid.  [new]
Dima T
Member

Откуда:
Сообщений: 15301
Проблема в области видимости переменной nomchit
После отработки этого кода она удаляется, а "IIF(номер_читателя=nomchit,RGB(255, 0, 0), rgb(255,255,255))" срабатывает в момент показа строки в гриде. В этот момент переменная уже не существует.

Надо использовать свойства формы. Добавь форме свойство nomchit и исправь свой код
ThisForm.nomchit=номер_читателя
...
thisform.Grid2.SetAll("DynamicBackColor", "IIF(номер_читателя=ThisForm.nomchit,RGB(255, 0, 0), rgb(255,255,255))","Column")


и это достаточно прописать один раз при открытии формы
thisform.Grid2.SetAll("DynamicBackColor", "IIF(номер_читателя=ThisForm.nomchit,RGB(255, 0, 0), rgb(255,255,255))","Column")

а затем менять ThisForm.nomchit и делать thisform.grid2.Refresh()
25 янв 13, 15:48    [13828886]     Ответить | Цитировать Сообщить модератору
 Re: expression is invalid.  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Почему созданный массив или переменную не "видно" в других методах формы

Как выделить всю активную строку Grid

Обратите внимание, с чем именно идет сравнение поля таблицы в функции DynamicBackColor в последнем примере
25 янв 13, 15:49    [13828907]     Ответить | Цитировать Сообщить модератору
 Re: expression is invalid.  [new]
MrIgorOK
Member

Откуда:
Сообщений: 20
Dima T,

прописал свойство на что он выдаёт другую ошибку property NOMCHIT is not found
25 янв 13, 16:01    [13829027]     Ответить | Цитировать Сообщить модератору
 Re: expression is invalid.  [new]
MrIgorOK
Member

Откуда:
Сообщений: 20
Dima T,

хотя нет
25 янв 13, 16:05    [13829064]     Ответить | Цитировать Сообщить модератору
 Re: expression is invalid.  [new]
Dima T
Member

Откуда:
Сообщений: 15301
MrIgorOK
Dima T,

прописал свойство на что он выдаёт другую ошибку property NOMCHIT is not found

А к форме его добавил?
Меню Form - New property
25 янв 13, 16:05    [13829065]     Ответить | Цитировать Сообщить модератору
 Re: expression is invalid.  [new]
MrIgorOK
Member

Откуда:
Сообщений: 20
Dima T,

нет не добавил, не понимаю что туда писать...(
25 янв 13, 16:06    [13829072]     Ответить | Цитировать Сообщить модератору
 Re: expression is invalid.  [new]
Dima T
Member

Откуда:
Сообщений: 15301
MrIgorOK
Dima T,

нет не добавил, не понимаю что туда писать...(

NOMCHIT
25 янв 13, 16:07    [13829079]     Ответить | Цитировать Сообщить модератору
 Re: expression is invalid.  [new]
MrIgorOK
Member

Откуда:
Сообщений: 20
Dima T,

куда именно?

К сообщению приложен файл. Размер - 25Kb
25 янв 13, 16:10    [13829109]     Ответить | Цитировать Сообщить модератору
 Re: expression is invalid.  [new]
Dima T
Member

Откуда:
Сообщений: 15301
В Name
25 янв 13, 16:12    [13829132]     Ответить | Цитировать Сообщить модератору
 Re: expression is invalid.  [new]
MrIgorOK
Member

Откуда:
Сообщений: 20
Dima T,

всё вроде сделал, но он выдаёт ту же ошибку
25 янв 13, 16:28    [13829253]     Ответить | Цитировать Сообщить модератору
 Re: expression is invalid.  [new]
Dima T
Member

Откуда:
Сообщений: 15301
MrIgorOK
Dima T,

всё вроде сделал, но он выдаёт ту же ошибку

Add нажал после того как написал?
25 янв 13, 16:32    [13829290]     Ответить | Цитировать Сообщить модератору
 Re: expression is invalid.  [new]
MrIgorOK
Member

Откуда:
Сообщений: 20
Dima T,

конечно нажал, даже когда начинаю писать в тексте программы thisform. он появляется в подсказке
25 янв 13, 16:37    [13829324]     Ответить | Цитировать Сообщить модератору
 Re: expression is invalid.  [new]
MrIgorOK
Member

Откуда:
Сообщений: 20
Dima T,

извини, нашёл ошибку в коде..... всё работает агрмное спасибо
25 янв 13, 16:40    [13829347]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить