Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 10

Вывод данных запроса в отчёт word

03.06.2015, 06:52. Показов 3563. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемые форумчане. Нужна помощь с созданием запроса и выводом его результатов в отчёт word. Прошу сразу помидорами не кидаться. Поиском пользовался, но либо я настолько уже отупел, либо действительно ничего по моей проблеме нету.
Код кнопки для запроса:
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button3Click(TObject *Sender)
{
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM "+ComboBox1->Items->Text);
ADOQuery1->SQL->Add("WHERE "+ComboBox2->Items->Text+" = "+Edit2->Text);
ADOQuery1->Open();
}
Результат этого запроса необходимо воткнуть в wordовский документ с титульником и прочими штуками отчётов, используемых на кафедрах.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.06.2015, 06:52
Ответы с готовыми решениями:

Отчёт в шаблон Word
Возникла такая проблема: Необходимо вывести отчет из базы данных в заранее созданный шаблон Word. Где можно почитать об этом? Может...

Печатный отчёт выводящий в MS Word
Я сделал печатный отчёт посредством компонентов вкладки QReport. При нажатии на кнопку, выводятся на печать поля выделенной строки из...

Вывод данных в word
какой код прописать, что бы когда вводишь данные для визитных карточек, эти данные выводились в word?

14
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
03.06.2015, 08:02
http://wladm.narod.ru/Borland/word.html
0
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 10
03.06.2015, 12:43  [ТС]
Спасибо, конечно, за ответ. Но по этой ссылке я всё и делал. Там не описывается как правильно использовать DataSource для вывода табличных данных по определённому запросу. И мне необходимо составлять многостраничный отчёт с титульным листом. Пример отчёта приложил.
Вложения
Тип файла: rar Отчет.rar (112.2 Кб, 18 просмотров)
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
03.06.2015, 14:20
Выводите данные из DataSource в текстовые переменные, а далее в отчет:
Например вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void TDM_Base::ViewNameField(TStrings *list,AnsiString tabl)
{
AnsiString str = "select RDB$FIELD_NAME from RDB$RELATION_FIELDS where RDB$RELATION_NAME = '" + tabl + "'";
 
OpenSysTabl(str);
 
   while(!QuerySys->Eof)
  {
   list->Add((QuerySys->FieldByName("RDB$FIELD_NAME")->AsString).Trim());
   QuerySys->Next();
  }
 
void TDM_Base::OpenSysTabl(AnsiString str)
{
if(TransactionSys->Active == true){TransactionSys->Commit();}
 TransactionSys->StartTransaction();
 
 QuerySys->SQL->Clear();
 QuerySys->SQL->Add(str);
 QuerySys->Open();
}
 
}
Функция ViewNameField возвращает значения из DataSource в переменную list

Вот часть которая пробегает по всему DataSource
C++
1
2
3
4
5
   while(!QuerySys->Eof)
  {
   list->Add((QuerySys->FieldByName("RDB$FIELD_NAME")->AsString).Trim());
   QuerySys->Next();
  }
0
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 10
04.06.2015, 09:49  [ТС]
Ладно, надеюсь с этим кодом разберусь. А вот что делать с запросом? При том коде который у меня написан при нажатии на кнопку ничего не происходит.
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
04.06.2015, 21:16
Цитата Сообщение от Killercross Посмотреть сообщение
А вот что делать с запросом?
Я не телепат, не зная структуры БД запрос ну не как не напишу за Вас.
0
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 10
04.06.2015, 21:19  [ТС]
Саму структуру запроса я знаю. Мне нужно разобраться с кодом который я писал в самом первом сообщении. Я перепробовал разные варианты, но ни один из них не сработал.
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
04.06.2015, 21:29
Цитата Сообщение от Killercross Посмотреть сообщение
ADOQuery1->SQL->Add("SELECT * FROM "+ComboBox1->Items->Text);
ADOQuery1->SQL->Add("WHERE "+ComboBox2->Items->Text+" = "+Edit2->Text)
ADOQuery1->SQL->Add("SELECT * FROM "+ComboBox1->Text);
ADOQuery1->SQL->Add(" WHERE "+ComboBox2->Text+" = "+Edit2->Text);
Вот что я вижу
0
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 10
04.06.2015, 21:39  [ТС]
Пробовал. Не работает.
0
 Аватар для Витальич
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
04.06.2015, 21:44
Уже писал
Цитата Сообщение от Витальич Посмотреть сообщение
Я не телепат
0
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 10
04.06.2015, 21:49  [ТС]
Хорошо. Спасибо за помощь. Буду дальше разбираться=)
0
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
05.06.2015, 04:44
Цитата Сообщение от Killercross Посмотреть сообщение
Пробовал. Не работает.
Ошибку выдает или как?
Поставь вместо
C++
1
ADOQuery1->Open();
такой вот текст
C++
1
ShowMessage(ADOQuery1->SQL->Text);
и посмотри, верно ли формируется запрос. Попробуй сохранить свой сформированный запрос в файл
C++
1
ADOQuery1->SQL->SaveToFile("111.sql");
и выполни его непосредственно в своей БД без своей программы. Если проканает - дальше код надо будет твой смотреть, если нет - данные где-то неверно подставляются. Возможно условие отбора надо так записать
C++
1
ADOQuery1->SQL->Add("WHERE " + ComboBox2->Text + " = '"+Edit2->Text + "'");
0
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 10
05.06.2015, 17:59  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
Поставь вместо
Код C++
1
ADOQuery1->Open();
такой вот текст
Код C++
1
ShowMessage(ADOQuery1->SQL->Text);
и посмотри, верно ли формируется запрос.
спасибо за код. Да, запрос формируется верно. Почему-то не срабатывает именно нажатие на кнопку, т.е. кнопка нажимается, но ничего не происходит, никаких ошибок или вылетов
0
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
05.06.2015, 18:10
Цитата Сообщение от Killercross Посмотреть сообщение
void __fastcall TForm1::Button3Click(TObject *Sender)
{
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM "+ComboBox1->Items->Text);
ADOQuery1->SQL->Add("WHERE "+ComboBox2->Items->Text+" = "+Edit2->Text);
ADOQuery1->Open();
}
Дык это вот что, весь код кнопки? Ну дык а что же должно произойти? Запрос выполнился и все.
Добавь в конце такую строчку
C++
1
ShowMessage(IntToStr(ADOQuery1->RecordCount));
и посмотри, какое количество записей он тебе выдаст

Добавлено через 2 минуты
И, кстати, ты вариант с апострофами проверял?
C++
1
ADOQuery1->SQL->Add("WHERE " + ComboBox2->Text + " = '"+Edit2->Text + "'");
0
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 10
05.06.2015, 18:27  [ТС]
Всем спасибо за помощь. С запросом разобрался, оказалось неправильно были выставлены привязки к DataSource и DataSet
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.06.2015, 18:27
Помогаю со студенческими работами здесь

Вывод данных в Word
Господа программисты, посоветуйте пожалуйста литературу, подробно-описывающую вывод информации из программы в Word

Печатный отчёт выводящий активную строку из DBGrid в MS Word
Я сделал печатный отчёт посредством компонентов вкладки QReport. При нажатии на кнопку, выводятся на печать поля выделенной строки из...

Вывод поля в отчёт в с++ Builderжно
Всем доброго времени суток. Есть вопрос по реализации отчёта по бд в с++ Builder . Вот я написал поиск записей: void...

Вывод запроса в ms word
Может уже тему поднимали. Подскажите где можно посмотреть процедуру обработки событий кнопки на форме вывести в word результаты запроса в...

Вывод запроса в шаблон Word
Здравствуйте. У меня такой вопрос. Как можно вывести все записи из запроса в закладку Word или просто в шаблон, не заменяя в нем исходной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru