Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 10.07.2014, 15:24
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А там же, на вкладке TChart
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #17  
Старый 10.07.2014, 19:58
djmix djmix вне форума
Прохожий
 
Регистрация: 24.06.2014
Сообщения: 46
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

у меня 7 delphi и в упор нет того компонента(, что за нескладуха, посмотрел всю палитру. мот его скачать где можно?
Изображения
Тип файла: png 2014-07-10_215122.png (2.8 Кбайт, 5 просмотров)

Последний раз редактировалось djmix, 10.07.2014 в 20:02.
Ответить с цитированием
  #18  
Старый 11.07.2014, 13:03
djmix djmix вне форума
Прохожий
 
Регистрация: 24.06.2014
Сообщения: 46
Версия Delphi: Delphi 7
Репутация: 10
Печаль

приветствую народ! полный ступор, не имея компоненты TDBCrossTabSource.

как блин хотя бы можно копировать данные в excel из dbgid ? (((


хотя я не выдержу такого извращения(
Ответить с цитированием
  #19  
Старый 11.07.2014, 15:12
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

На вкладке Servers палитры компонентов есть ExcelApplication, его нужно кинуть на форму и выставить свойство ConnectKind как ckNewInstance, вот пример передачи данных из StringGrid в Excel (drkb)

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
WorkBk: _WorkBook; //  определяем WorkBook
WorkSheet: _WorkSheet; //  определяем WorkSheet
I, J, K, R, C: Integer;
IIndex: OleVariant;
TabGrid: Variant;
begin
if GenericStringGrid.Cells[0, 1] <> '' then
   begin
     IIndex := 1;
     R := GenericStringGrid.RowCount;
     C := GenericStringGrid.ColCount;

  // Создаём массив-матрицу
     TabGrid := VarArrayCreate([0, (R - 1), 0, (C - 1)], VarOleStr);
     I := 0;

  //  Определяем цикл для заполнения массива-матрицы
     repeat
       for J := 0 to (C - 1) do
         TabGrid[I, J] := GenericStringGrid.Cells[J, I];
       Inc(I, 1);
     until
       I > (R - 1);

  // Соединяемся с сервером TExcelApplication
     ExcelApplication1.Connect;

   // Добавляем WorkBooks в ExcelApplication
     ExcelApplication1.WorkBooks.Add(xlWBatWorkSheet, 0);

  // Выбираем первую WorkBook
     WorkBk := ExcelApplication1.WorkBooks.Item[IIndex];

  // Определяем первый WorkSheet
     WorkSheet := WorkBk.WorkSheets.Get_Item(1) as _WorkSheet;

  // Сопоставляем Delphi массив-матрицу с матрицей в WorkSheet
     Worksheet.Range['A1', Worksheet.Cells.Item[R, C]].Value := TabGrid;

  // Заполняем свойства WorkSheet
     WorkSheet.Name := 'Customers';
     Worksheet.Columns.Font.Bold := True;
     Worksheet.Columns.HorizontalAlignment := xlRight;
     WorkSheet.Columns.ColumnWidth := 14;

  // Заполняем всю первую колонку
     WorkSheet.Range['A' + IntToStr(1), 'A' + IntToStr(R)].Font.Color := clBlue;

     WorkSheet.Range['A' + IntToStr(1), 'A' + IntToStr(R)].HorizontalAlignment := xlHAlignLeft;
     WorkSheet.Range['A' + IntToStr(1), 'A' + IntToStr(R)].ColumnWidth := 31;

  // Показываем Excel
     ExcelApplication1.Visible[0] := True;

  // Разрываем связь с сервером
     ExcelApplication1.Disconnect;

  // Unassign the Delphi Variant Matrix
     TabGrid := Unassigned;
   end;
end;
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
djmix (17.07.2014)
  #20  
Старый 12.07.2014, 02:23
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну вот как так-то? Мне хватило 10 минут изучения TDBChart в D7, чтобы найти решение без TDBCrossTabSource. Ну неужели нельзя было просто по вкладочкам этого компонента потыкать?
Решение проблемы:
1. ПКМ на DBChart1
2. Выбрать Edit chart...
3. На второй линии выбрать вкладку Series и в ней нажать кнопку Add...
3.1. Из галереии выбрать нужный график
4. На первой линии выбираем вкладку Series
4.1 В ней выбираем вкладку Data source.
4.2 В выпадающем списке выбрано по умолчанию значение Random values. Вместо него выбираем Dataset (появятся дополнительные свойства)
4.3. Заполняем появившиеся свойства: (Dataset, Labels, Bar)
Все.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 12.07.2014 в 03:19.
Ответить с цитированием
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение:
djmix (12.07.2014)
  #21  
Старый 12.07.2014, 09:26
djmix djmix вне форума
Прохожий
 
Регистрация: 24.06.2014
Сообщения: 46
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Страдалец , спасиб за терпение), но прикладываю скрин вообщем то действия на котором всё закончилось в моих действиях , ещё при первом твоём посте про решение с dbchart
Изображения
Тип файла: png 2014-07-12_112349.png (47.7 Кбайт, 6 просмотров)

Последний раз редактировалось djmix, 12.07.2014 в 09:56.
Ответить с цитированием
  #22  
Старый 12.07.2014, 11:49
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Видимо DBchart пытается получить список полей из запроса, а подключение не проходит. Причина скорее всего в том, что потерялся параметр Extended property в AdoConnection (есть такой баг в Delphi). Попробуйте сначала активировать в дизайнмоде AdoConnection,AdoQuery а уже потом настроить TDBChart.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #23  
Старый 13.07.2014, 15:07
djmix djmix вне форума
Прохожий
 
Регистрация: 24.06.2014
Сообщения: 46
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

вот собственно ошибки при попытке активировать
Изображения
Тип файла: png 2014-07-13_021444.png (14.5 Кбайт, 6 просмотров)
Тип файла: png 2014-07-13_170333.png (14.4 Кбайт, 4 просмотров)
Тип файла: png 2014-07-13_170355.png (13.9 Кбайт, 4 просмотров)
Ответить с цитированием
  #24  
Старый 14.07.2014, 12:19
djmix djmix вне форума
Прохожий
 
Регистрация: 24.06.2014
Сообщения: 46
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

усё сложно))
Ответить с цитированием
  #25  
Старый 14.07.2014, 12:44
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

ConnectionString проверь
В первой же ошибке написано, что не так. Написано, что неправлиьно указан провайдерю
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
djmix (15.07.2014)
  #26  
Старый 15.07.2014, 08:25
djmix djmix вне форума
Прохожий
 
Регистрация: 24.06.2014
Сообщения: 46
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Товарищи, Спасибо!! решился вопрос странным образом, пока вручную не создал столбцы в ADOQuery, по которым сделан SQL запрос (+ один из них суммирует кол-во f4), всё , получил желаемое.

сейчас вопрос, можно ли график этот сформированный в Word или Excel переносить. хочу полностью формировать отчёт по конкретному пользователю, + период выбирать.
Изображения
Тип файла: jpg 2014-07-15_102237.jpg (47.5 Кбайт, 6 просмотров)
Ответить с цитированием
  #27  
Старый 17.07.2014, 10:51
djmix djmix вне форума
Прохожий
 
Регистрация: 24.06.2014
Сообщения: 46
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

аууу нарооод(
Ответить с цитированием
  #28  
Старый 04.08.2014, 14:20
djmix djmix вне форума
Прохожий
 
Регистрация: 24.06.2014
Сообщения: 46
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Ответьте пожалуйста на два вопроса.

подскажите как правильно создать программно столбики в adoquery
типа adoquery.fields.add ()

и как правильно организовать печать из dbgrid1
Ответить с цитированием
  #29  
Старый 07.08.2014, 13:57
djmix djmix вне форума
Прохожий
 
Регистрация: 24.06.2014
Сообщения: 46
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

как отфильтровать по двум столбцам пишу что то подбное
и так
'where F2='+ label9.Caption+' AND F4='+ edit3.text+'
и эдак
'where (F2='+ label9.Caption+') AND (F4='+ edit3.text+')

выдаёт Ошибка синтаксиса (пропущен оператор в выражении запроса)

что подставить необходимо? Спасибо заранее
Ответить с цитированием
  #30  
Старый 07.08.2014, 18:48
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Так вы фильтром или запросом это пытаетесь сделать? Для фильтра where уберите, а для запроса возможно пробел перед where надо добавить. Вообще посмотрите текст запроса итоговый, там будет все понятно, чего не хватает, а что лишнее.
К тому-же неясно какого типа поля F2 и F4 у вас. Если это текст, то надо обрамлять значение кавычками.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение:
djmix (07.08.2014)
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:00.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter