Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 20.09.2018, 16:37   #1
Etsareva
Форумчанин
 
Регистрация: 26.01.2018
Сообщений: 149
Репутация: 10
По умолчанию добавление в excel

Доброго дня! из бд в excel добавляю данные:
Код:

FData:=VarArrayCreate([1,PechatUdNormForm.ADOQuery1.RecordCount+1,1,PechatUdNormForm.ADOQuery1.Fields.Count],varVariant);
// Заполняем массив
   PechatUdNormForm.ADOQuery1.First;
   i:=1;
   while not PechatUdNormForm.ADOQuery1.Eof do
      begin
    for j:=1 to PechatUdNormForm.ADOQuery1.Fields.Count do
            FData[i,j]:=PechatUdNormForm.ADOQuery1.Fields[j-1].Value;
         PechatUdNormForm.ADOQuery1.Next;
         i:=i+1;
      end;
 // Копируем данные в Excel
   Excl.Range[Excl.Cells[4, 1], Excl.Cells[PechatUdNormForm.ADOQuery1.RecordCount+1, PechatUdNormForm.ADOQuery1.Fields.Count]].Value:=FData;
  //рисуем границы фокруг данных
   Excl.Range[Excl.Cells[4, 1], Excl.Cells[PechatUdNormForm.ADOQuery1.RecordCount+1, PechatUdNormForm.ADOQuery1.Fields.Count+1]].Select;
   Excl.Selection.Borders.LineStyle := 1;
   Excl.Selection.Borders.Weight := 2;
   Excl.Range[Excl.Cells[4, 1], Excl.Cells[4, 1]].Select;

всего у меня 11 столбцов. 10 заполняются, а 11-й - результат умножения 7-го и 10-го столбцов. как в цикле это можно отразить?
Etsareva вне форума   Ответить с цитированием
Старый 20.09.2018, 17:14   #2
IliaIT
Участник клуба
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 950
Репутация: 508
По умолчанию

2 варианта есть.
1. в запросе ADOQuery1 добавить вычисляемое поле где 11столбик=7столбик *10 столбик. и тогда цикл (j) заполнит 11 столбцов.
2. после цикла (j), перед ADOQuery1.Next дописать
Код:

FData[i,11]:=PechatUdNormForm.ADOQuery1.Fields[7-1].Value*PechatUdNormForm.ADOQuery1.Fields[10-1].Value;

. Ну и подправить сохранение на 1 столбец больше.
__________________
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума   Ответить с цитированием
Старый 20.09.2018, 17:17   #3
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,489
Репутация: 5308
По умолчанию

Цитата:
Сообщение от IliaIT Посмотреть сообщение
2 варианта есть.
тогда ещё и третий вариант:
добавить цикл и вставить в 11 столбец формулу вида
Код:

=RC[-4]*RC[-1]

Serge_Bliznykov на форуме   Ответить с цитированием
Старый 20.09.2018, 17:18   #4
Etsareva
Форумчанин
 
Регистрация: 26.01.2018
Сообщений: 149
Репутация: 10
По умолчанию

Огромное Вам спасибо!
Etsareva вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление данных в access из excel palazzio Microsoft Office Access 5 20.11.2013 08:31
Добавление знаков в строку формулы Excel Tessan Microsoft Office Excel 9 01.10.2013 18:05
добавление базы из excel в access Enkoff Microsoft Office Access 1 22.12.2011 13:32
Добавление данных в таблицу Excel slai Общие вопросы Delphi 1 11.10.2010 06:49
Добавление строки Excel EdNovice Общие вопросы Delphi 1 19.04.2007 09:08


10:42.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru