Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Запросы с возможностью печати


Автор: zhuchok 20.11.2010, 15:45
Подскажите пожалуйста, кто сталкивался. Мне нужно прикрутить к системе продаж (база MS Aсcess, интерфейс delphi) возможность автоматического заполнения квитанций. Как это лучше сделать? Я планировала взять бланк квитанции в excel или word и в отведенные поля вносить информацию из базы, но во-первых понятия не имею как это реализовать, а во-вторых что делать если в квитанции не один а несколько товаров? Может кто-то что-то подобное делал, поделитесь опытом. Не откажусь и от других вариантов.
И ещё такой вопрос: Как сделать запрос с возможностью его последующего распечатывания?

Автор: cat512 20.11.2010, 17:10
Цитата(zhuchok @ 20.11.2010,  15:45)
Подскажите пожалуйста, кто сталкивался. Мне нужно прикрутить к системе продаж (база MS Aсcess, интерфейс delphi) возможность автоматического заполнения квитанций. Как это лучше сделать? Я планировала взять бланк квитанции в excel или werd и в отведенные поля вносить информацию из базы, но во-первых понятия не имею как это реализовать, а во-вторых что делать если в квитанции не один а несколько товаров? Может кто-то что-то подобное делал, поделитесь опытом. Не откажусь и от других вариантов.
И ещё такой вопрос: Как сделать запрос с возможностью его последующего распечатывания?

Используй репортные системы типа FastReport; Report Builder; CristalReport. В этих системах уже реализована возможность печати

Автор: zhuchok 20.11.2010, 19:08
Цитата(cat512 @  20.11.2010,  17:10 Найти цитируемый пост)
Используй репортные системы типа FastReport; Report Builder; CristalReport. В этих системах уже реализована возможность печати

А в стандартных наборах компонентов delphi7 нет ничего что могло бы мне помочь?

Автор: superVad 20.11.2010, 19:24
Как вариант - делай вывод в ворд или эксель.

Автор: Akella 20.11.2010, 21:28
а что за wErd такой?

Добавлено через 1 минуту и 38 секунд
Цитата(zhuchok @ 20.11.2010,  19:08)
Цитата(cat512 @  20.11.2010,  17:10 Найти цитируемый пост)
Используй репортные системы типа FastReport; Report Builder; CristalReport. В этих системах уже реализована возможность печати

А в стандартных наборах компонентов delphi7 нет ничего что могло бы мне помочь?

среди стандартных есть RaveReport

Добавлено через 3 минуты и 20 секунд
А в Delphi 7есть QuickReport, но всё равно лучше воспользоваться FastReport, т.к. QR умер уже давно

Автор: Данкинг 20.11.2010, 22:12
Цитата(zhuchok @  20.11.2010,  15:45 Найти цитируемый пост)
Я планировала взять бланк квитанции в excel

Если есть готовый бланк в .xls, куда нужно подставить значения в нужные ячейки - логичней так и делать.
Цитата(zhuchok @  20.11.2010,  15:45 Найти цитируемый пост)
а во-вторых что делать если в квитанции не один а несколько товаров? 

Не понял, это на конкретном примере смотреть надо уже.
Цитата(Akella @  20.11.2010,  21:28 Найти цитируемый пост)
а что за wErd такой?

Наверное, от слова "wierd". smile

Автор: Fighter 21.11.2010, 01:02
Если просто из базы данных надо сделать отчет в Excel, то никакие компоненты не нужны. Если работаете в Delphi 7 то там есть вкладка Servers. Там все есть. Это если хотите использовать раннее связывание Com. Если же хотите, можете использовать позднее связывание. 

А технология экспорта простая. Кидаете какой-нибудь Dataset, и отбираете необходимую инфу, которую нужно отобразить, с помощью select запроса. Затем, проходите по всем записям Dataset и каждую запись записываете на лист Excel. Да я понимаю что я сказал общие слова, но попробуйте разобраться с компонентом ExcelApplication, ExcelWorksheet которые находятся на вкладке Servers. 

Автор: Данкинг 21.11.2010, 01:05
Цитата(Fighter @  21.11.2010,  01:02 Найти цитируемый пост)
Если работаете в Delphi 7 то там есть вкладка Servers. 

А через "CreateOleObject" не удобнее?

Автор: zhuchok 21.11.2010, 02:28
Цитата(Fighter @  21.11.2010,  01:02 Найти цитируемый пост)
Если просто из базы данных надо сделать отчет в Excel, то никакие компоненты не нужны. Если работаете в Delphi 7 то там есть вкладка Servers. Там все есть. Это если хотите использовать раннее связывание Com. Если же хотите, можете использовать позднее связывание. А технология экспорта простая. Кидаете какой-нибудь Dataset, и отбираете необходимую инфу, которую нужно отобразить, с помощью select запроса. Затем, проходите по всем записям Dataset и каждую запись записываете на лист Excel. Да я понимаю что я сказал общие слова, но попробуйте разобраться с компонентом ExcelApplication, ExcelWorksheet которые находятся на вкладке Servers. 

Спасибо. Я так и попробую.

Автор: Akella 21.11.2010, 16:34
Цитата(Fighter @  21.11.2010,  01:02 Найти цитируемый пост)
Если просто из базы данных надо сделать отчет в Excel, то никакие компоненты не нужны. Если работаете в Delphi 7 то там есть вкладка Servers. Там все есть. 

Лучше не пользоваться этой вкладкой, а воспользоваться технологией OLE.

Добавлено через 25 секунд
Цитата(Данкинг @ 21.11.2010,  01:05)
Цитата(Fighter @  21.11.2010,  01:02 Найти цитируемый пост)
Если работаете в Delphi 7 то там есть вкладка Servers. 

А через "CreateOleObject" не удобнее?

Удобнее и правильнее.

Автор: former 21.11.2010, 17:58
Для тех, кому лень делать все руками:
http://www.vector-ski.ru/reports/arwordreport_index.htm
http://www.vector-ski.ru/reports/arexcelreport_index.htm
(freeware for non-commercial use). 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)