TTeams = class(TTableVst)
strict private
FqrIDTeams, FqrTitle, FqrSerialNumber, FqrActive: TField;
....
FVSTQuery.SQL.Add(
'SELECT Teams.IDTeams, Teams.Title, Teams.SerialNumber, Teams.Active'+
' FROM Teams INNER JOIN Clubs ON Teams.FKClubs = Clubs.IDClubs'+
' WHERE (Teams.FKClubs = :FKClubs)'+
' ORDER BY Teams.SerialNumber');
FVSTQuery.ParamByName('FKClubs').AsInteger := 0;
FVSTQuery.Open();
FqrIDTeams := FVSTQuery.FieldByName('IDTeams');
FqrTitle := FVSTQuery.FieldByName('Title');
FqrSerialNumber := FVSTQuery.FieldByName('SerialNumber');
....
NodeData.SerialNumber := FqrSerialNumber.AsInteger; // Expression illegal in evaluator
Až na uvedený prípad mi všetko funguje. SQL je v poriadku - je tam hodnota. FVSTQuery je vytváraný dynamicky.
Ide o Access a typ poľa je Byte (pre istotu so ho zmenil na integer - bez výsledku).
Pri práci priamo s tabuľkou problém nenastane.
Nerozumiem tomu, ale pomohla takáto zmena:
'SELECT Teams.IDTeams, Teams.Title, Teams.Active, SerialNumber'+