Страница 1 из 1

Как добыть MEMO-поле ?

Добавлено: 24 Август 2010, 15:24
Игорь Столяров
Привет всем !

Я снова с "детским" вопросом ... ;)

Среда: С6 9059 & ABC
Есть некий список в TPS и в нем несколько полей и MEMO-поле и есть некий BROWSE для просмотра этого списка. Все хорошо.
При инициализации BROWSE (точнее структуры VIEW для BROWSE) включается режим чтения без MEMO полей (NOMEMO(ФАЙЛ)), и это тоже правильно.
А как добыть в этом случае при необходимости содержание Memo-поля из списка ? Оператора обратного по действию NOMEMO(ФАЙЛ) ведь нет ...
Закрывать все файлы и заново их открывать ? Сейчас сделал через ALIAS:

Clear(ALIAS.RECORD)
ALIAS.RECORD :=: FILE.RECORD
IF ~Access:ALIAS.Fetch(ALIAS.ByPrimaryKey) then Message(ALIAS.MEMO_FIELD).

Но это как-то тупо ... плюс добавилось описание ALIAS'а файла .... Может быть есть более простые пути ?

P/S: С BLOB полями тоже самое ... :(

Re: Как добыть MEMO-поле ?

Добавлено: 24 Август 2010, 15:58
Yufil
Вроде Nomemo действует только на один оператор. Так что ThisWindow.Update() или Reget(File,Position(File)) должны загрузить Memo. Максимум со второй попытки...

Re: Как добыть MEMO-поле ?

Добавлено: 24 Август 2010, 16:34
Игорь Столяров
Огромное спасибо ! Все получилось. :)

Вставка кода:

IF ~Access:FILE.Fetch(FILE.ByPrimaryKey) then Message(FILE.MEMO_FIELD).

прекрасно работает. Просто до меня как-то не дошло повторно считать запись, если она и так уже считана и доступна ...

Еще раз спасибо ! :)