Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2008, 01:52   #1
fluxion
 
Регистрация: 27.12.2007
Сообщений: 3
Вопрос Ошибка OLE Error 800A03EC

Здравствуйте!
Делаю экспорт в Excel след. образом:

Код:
procedure TForm.BitBtn6Click(Sender: TObject);
var
XL, XArr: Variant;
i: Integer;
j: Integer;
begin
XArr:=VarArrayCreate([1,DM.ADOQuery1.FieldCount],varVariant);
XL:=CreateOLEObject('Excel.Application');     // Создание OLE объекта
XL.WorkBooks.add;
XL.visible:=true;

j := 1;
DM.ADOQuery1.First;
while not DM.ADOQuery1.Eof do
 begin
  i:=1;
  while i<=DM.ADOQuery1.FieldCount do
   begin
    XArr[i] := DM.ADOQuery1.Fields[i-1].Value;
    i := i+1;
   end;
  XL.Range['A'+IntToStr(j),CHR(64+DM.ADOQuery1.FieldCount)+IntToStr(j)].Value := XArr;
  DM.ADOQuery1.Next;
  j:=j+1;
 end;
XL.Range['A1',CHR(64+DM.ADOQuery1.FieldCount)+IntToStr(j)].select;

XL.Selection.Font.Name:='Arial';
XL.Selection.Font.Size:=10;
XL.selection.Columns.AutoFit;
XL.Selection.HorizontalAlignment:=2;
XL.Selection.Borders.LineStyle:=2;
end;
В таблице формирую 25 полей. При нажатии кнопки открывается Excel и вылетает ошибка OLE Error 800A03EC и показывает ошибку на строке:

Код:
XL.Range['A'+IntToStr(j),CHR(64+DM.ADOQuery1.FieldCount)+IntToStr(j)].Value := XArr;
Если формирую 24 поля и меньше, то проходит все нормально. Подскажите в чем проблема.
P.S. Delphi7+MSSQL 2005

Последний раз редактировалось fluxion; 28.04.2008 в 01:55.
fluxion вне форума Ответить с цитированием
Старый 28.04.2008, 08:28   #2
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Честно говоря, я не понял Ваш код, но для того, что бы сделать экспорт таблиц, можно гораздо проще. Обсуждалось много тем, ну вот, к примеру, почитайте чуть ниже тему "Конвектор", не имеет значение в какую БД производить экспорт, смысл кода остается тот же.
фЁдОр вне форума Ответить с цитированием
Старый 30.04.2008, 13:19   #3
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

XL.visible:=false; перед началом выполнения кода XL.visible:=true в конце. Видимо пока выгружается щелкаете по ячейкам в excel.
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 30.04.2008, 13:35   #4
kisser_san
Пользователь
 
Регистрация: 25.04.2008
Сообщений: 17
По умолчанию

fluxion, так для интереса проверь что тебе вернет
CHR(64+DM.ADOQuery1.FieldCount)
когда количество полей будет больше 27, я думаю сам поймешь почему не работает
можно не иметь высшего образования, достаточно иметь среднюю сообразительность...
kisser_san вне форума Ответить с цитированием
Старый 02.05.2008, 05:12   #5
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

обычно такая ошибка указывает на неправильный формат, но у Вас проблема из-за того , что букаФФФ в англ языке маловасто)))))))

вы выходите за приделы алфавита))))) 27 всего букв....

вовсе не обязательны все эти прыжки с бубном вокруг имен строк и колонок. есть намного проще и понятнее методы для экспорта в эксел
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка - [Error] Unit1.pas(325): Operator not applicable to this operand type blackstersl Общие вопросы Delphi 6 27.08.2008 13:17
JPEG Error #53 sklazer Общие вопросы Delphi 5 22.07.2008 04:41
ошибка I/O error 32 kolduev Помощь студентам 7 29.02.2008 20:22
ОШИБКА:"error BGI graphics not ..." Panterka Помощь студентам 7 12.12.2007 17:06
Free Pascal(2.0.4) ошибка: Error while linking Акашаев Нурлан Паскаль, Turbo Pascal, PascalABC.NET 2 04.08.2007 10:10