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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2018, 15:37   #1
Etsareva
Форумчанин
 
Регистрация: 26.01.2018
Сообщений: 180
По умолчанию добавление в 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, 16:14   #2
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 979
По умолчанию

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, 16:17   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от IliaIT Посмотреть сообщение
2 варианта есть.
тогда ещё и третий вариант:
добавить цикл и вставить в 11 столбец формулу вида
Код:
=RC[-4]*RC[-1]
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.09.2018, 16:18   #4
Etsareva
Форумчанин
 
Регистрация: 26.01.2018
Сообщений: 180
По умолчанию

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


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление данных в 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