expression is invalid.

MrIgorOK
Дата: 25.01.2013 15:31:14
Помогите решить проблему, при выполнении этого кода
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
Dima T
Дата: 25.01.2013 15:48:25
Проблема в области видимости переменной 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.01.2013 15:49:58
Почему созданный массив или переменную не "видно" в других методах формы

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

Обратите внимание, с чем именно идет сравнение поля таблицы в функции DynamicBackColor в последнем примере
MrIgorOK
Дата: 25.01.2013 16:01:21
Dima T,

прописал свойство на что он выдаёт другую ошибку property NOMCHIT is not found
MrIgorOK
Дата: 25.01.2013 16:05:35
Dima T,

хотя нет
Dima T
Дата: 25.01.2013 16:05:42
MrIgorOK
Dima T,

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

А к форме его добавил?
Меню Form - New property
MrIgorOK
Дата: 25.01.2013 16:06:39
Dima T,

нет не добавил, не понимаю что туда писать...(
Dima T
Дата: 25.01.2013 16:07:26
MrIgorOK
Dima T,

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

NOMCHIT
MrIgorOK
Дата: 25.01.2013 16:10:32
Dima T,

куда именно?
Dima T
Дата: 25.01.2013 16:12:34
В Name