Здравствуйте, BlackEric, Вы писали:
BE>Здравствуйте, BlackEric, Вы писали:
BE>>Здравствуйте, molinero, Вы писали:
M>>>Если длина строки > 256 символов — в ячейке отображается ######, если длина строки > 920 символов, то при записи в диапазон возникает ошибка OLE error
BE>>Вы пытаетесь работать с Excel через Sql?
BE>>TQuery это что?
BE>Также покажите строку подключение, текст запроса и
BE>что это Range.Value := Массив VarArray ?
BE>В какой строке ошибка возникает?
Это функция которая возвращает вариантный массив.
function TfMakeReport.LineOfReport(TimeStart, TimeStop, Organization, WorkPlace, Count, CountHours, ClientK, OrganizationK, Task: Variant): Variant;
var Line: Variant; i: integer;s: string;
begin
Line := VarArrayCreate([0, 9], varVariant);
Line[0] := FormatDateTime('dd.mm.yyyy hh:mm', TimeStart);
Line[1] := FormatDateTime('t', TimeStart);
Line[2] := FormatDateTime('t', TimeStop);
Line[3] := Organization;
Line[4] := WorkPlace;
Line[5] := String(Count); //в этих строках без приведения к типу ни чего не изменяется
Line[6] := String(CountHours); //в этих строках без приведения к типу ни чего не изменяется
Line[7] := String(ClientK); //в этих строках без приведения к типу ни чего не изменяется
Line[8] := String(OrganizationK);//в этих строках без приведения к типу ни чего не изменяется
Line[9] := Task; //Ошибка происходит если длина текста в этой переменной > 920. Если меньше ошибки не возникает.
Result := Line;
end;
Возникает в этой строке
Range.Value := LineOfReport({параметры});