Re[3]: Выгрузка массива в диапазон Excel
От: molinero  
Дата: 05.01.12 08:34
Оценка:
Здравствуйте, 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({параметры});
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.