![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FieldByName [D5, ]
Koks © (2001-12-21 11:44:00)Есть код:
Procedure DoSmt(var quSorce:TQuery);
var
Str: string;
begin
Str := quSource.FieldByName("FIELDNAME").AsString;
end;
поле FIELDNAME - вычисляемое (в некоторых передаваемых TQuery - Lookup).
Выдается ошибка ("Нет поля FIELDNAME")
как правильно осуществить доступ к Look-up и Calculated полям ?
Заранее спасибо....
Mick (2001-12-26 11:33:00) [1]FieldByName работает, просто у тебя в датасете поля такого нет
Alexandr (2001-12-26 11:32:00) [2]на теоретическом уровне все должно работать
Koks (2001-12-26 11:30:00) [3]спасибо за совет, но я все же не догоняю - почему не работает FieldByName.
Объясните на теоритическом уровне.....
Kouzmine (2001-12-25 12:14:00) [4]Тогда передавай номер поля в процедуре, а обращайся Str := quSource.Fields[I].AsString; где I - этот параметр.
Koks (2001-12-21 15:00:00) [5]в том-то вся и фишка что они разные. Более того, их много но у всех у них есть строковое DisplayStr. Только у некоторых это поле - lookup, а у некоторых - Calculated.
И все они изначально статические.....
И все равно Ей не нравится....
Kouzmine (2001-12-21 12:03:00) [6]Надо создать статические поля. Там будет это поле quSourctFIELDNAME и использывать quSourceFIELDNAME.Value или asString. Но тогда quSource должен быть виден в процедуре, а сама процедура будет выгляд так
procedure DoSmt;
var
Str : String;
begin
Str := quSourceFIELDNAME.AsString и т.д.
Естественно раз не ндо передавать параметр, можно обращаться прямо к запросу. Если запросы разные надо передавать, то тут немного по другому