Сделал вот такой запрос
Код:
AG1 := StrToInt(FormFind.Age.Text);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT Pacient.*, Pacient.SName & '' '' & Pacient.FName & '' '' & Pacient.TName AS FIO, Pacient.IDPc & ''_'' & Anketa.IDPc AS IDPc, Anketa.*');
ADOQuery1.SQL.Add('FROM Pacient');
ADOQuery1.SQL.Add('INNER JOIN Anketa ON Pacient.IDPc = Anketa.IDPc');
ADOQuery1.SQL.Add('WHERE Pacient.AGE = :Ag');
ADOQuery1.Parameters.ParamByName('Ag').Value := AG1;
ADOQuery1.Open;
DateSource1.DataSet := ADOQuery1;
Загружает все поля из таблиц Pacient и Anketa с объединением трех полей в одно новое FIO и слиянием двух полей Pacient.IDPc и Anketa.IDPc в одно поле IDPc с условие по Pacient.AGE. Во время выполнение последней строчки в вызывает Vcl.Controls
Код:
procedure TWinControl.MainWndProc(var Message: TMessage);
begin
try
try
WindowProc(Message);
finally
FreeDeviceContexts;
FreeMemoryContexts;
end;
except
Application.HandleException(Self);
end;
end;
В строке Application.HandleException(Self) выходит ошибка "Несовпадение типов".
Сделать маленький проект новый с тем-же точно запросом и с теми-же таблицами ни какой ошибки нет. Значить ошибка где-то в проекте а где не могу понять.
Помогите люди добрые!