|
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 4
|
|
Как организовать просмотр печатаемого?08.05.2011, 12:15. Показов 1110. Ответов 8
Метки нет (Все метки)
Некая печатная форма печатается с помощью объекта Printer. Естетственно, сразу идёт на печать. Но очень хочется иметь возможность просмотреть подготовленный документ перед печатью (и, может быть, от печати потом отказаться). Печатать в файл?...Потом просматривать?... Что-то мне это не понравилось... Datareport не подходит, потому что запросы очень навороченные со сложными группировками и т.д.
Может быть кто-то подскажет? Спасибо!
0
|
|
| 08.05.2011, 12:15 | |
|
Ответы с готовыми решениями:
8
Система просмотра печатаемого документа SQLite. Как организовать запись и просмотр данных одновременно?
|
|
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 37
|
|
| 08.05.2011, 14:48 | |
|
А вывалить всё в Ексель не подойдет? А оттуда уже распечатывать, при необходимости
0
|
|
|
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 4
|
|
| 08.05.2011, 14:59 [ТС] | |
|
Простите за тупость...А как?
То есть в Exel из VB качала, было, но в заранее подготовленный файл с запросами, обновляемыми при открытии. А здесь запрос строится интерактивно внутри проги, каждый раз разный (правда, не по количеству выводимых полей, а по условиям отбора). Возможно, существует более гибкий и простой способ выгрузить данные по запросу в Exel... Please!! Подскажите!
0
|
|
|
0 / 0 / 0
Регистрация: 04.03.2008
Сообщений: 250
|
|
| 08.05.2011, 18:14 | |
|
Работа через ADO, DAO или еще как?
0
|
|
|
3 / 3 / 0
Регистрация: 12.07.2010
Сообщений: 128
|
|
| 08.05.2011, 22:49 | |
|
У меня MySQL и обычно свои отчеты я загоняю в Excel и дальше на усмотрение юзера. А код использую следующий:
Public Sub CreateReport() Dim conn As ADODB.Connection Dim rs As ADODB.Recordset Dim SQL As String Dim AppExcel As Object Dim wBook As Object Dim wSheet As Object SQL = 'SELECT ...... Set conn = New ADODB.Connection conn.ConnectionString = 'DRIVER={MySQL ODBC 3.51 Driver};' & _ 'SERVER=' & HostName & ';' & _ 'DATABASE=' & DBName & ';' & _ 'UID=' & UserName & ';' & _ 'PWD=' & Password & ';' & _ 'OPTION=3' conn.Open Set rs = New ADODB.Recordset With rs .ActiveConnection = conn .CursorLocation = adUseClient .Open SQL, conn, adOpenForwardOnly, adLockOptimistic On Error Resume Next Set AppExcel = GetObject(, 'Excel.Application') If AppExcel Is Nothing Then Set AppExcel = CreateObject('Excel.Application') If AppExcel Is Nothing Then .Close Set rs = Nothing MsgBox 'Приложение ''Microsoft Excel'' на машине не найдено !', vbOKOnly Or vbCritical, MyApp Exit Sub End If End If On Error GoTo 0 AppExcel.ScreenUpdating = False If Len(Dir(AppExcel.TemplatesPath & RepName & '.xlt')) > 0 Then Set wBook = AppExcel.Workbooks.Add(Template:=AppExce l.TemplatesPath & RepName & '.xlt') Else 'MsgBox 'Шаблон отчета ''' & RepName & ''' не найден !' & vbCr & 'Очет будет выведен в стандартный шаблон Excel.', vbOKOnly Or vbInformation, MyApp Set wBook = AppExcel.Workbooks.Add End If Set wSheet = wBook.Worksheets(1) wSheet.Range('A3').CopyFromRecordset rs ' эта строка работает только начиная с Office 2000 и выше ![]() Set wSheet = Nothing Set wBook = Nothing .Close Set rs = Nothing End With conn.Close Set conn = Nothing AppExcel.ScreenUpdating = True AppExcel.Visible = True Set AppExcel = Nothing End Sub
0
|
|
|
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 4
|
|
| 09.05.2011, 10:23 [ТС] | |
|
1. Работаю с ADO
2.В последнем сообщении в примере в Exel выгружается готовый отчет, видимо, созданный дизайнером VB6 Datareport. Мне это не подходит! Если бы данные формы я могла сделать в Datareport вопросов бы не было! Но всё равно, спасибо.
0
|
|
|
0 / 0 / 0
Регистрация: 04.03.2008
Сообщений: 250
|
|
| 09.05.2011, 16:03 | |
|
В общих чертах:
SQL='SELECT список_полей INTO [Excel 8.0;HDR=Yes ATABASE=C:eport.xls FROM тут_текст_запроса' Set rs = New ADODB.Recordset rs.Open SQL, cn Думаю, подойдет
0
|
|
|
3 / 3 / 0
Регистрация: 12.07.2010
Сообщений: 128
|
|
| 09.05.2011, 20:13 | |
|
> 2.В последнем сообщении в примере в Exel выгружается готовый отчет, видимо, созданный дизайнером VB6 Datareport...
ничего подобного. Напротив, я свои отчеты формирую одним или несколькими запросами SQL. См. строку SQL = 'SELECT ...... Эти запросы настолько спецефичны, что ихя заменил многоточием. Если отчет сложней и одним запросом не обойтись, то где-то перед строкой .Open SQL, conn, adOpenForwardOnly, adLockOptimistic можно 'прогнать' несколько промежуточных запросов (.Execute 'Ваш запрос'). Никаких Datareport. Все своими ручками. Все работает. 100% рабочий пример. Не знаю, что Вас не устраивает.
0
|
|
|
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 4
|
|
| 10.05.2011, 10:05 [ТС] | |
|
Уважаемый Maga!
Все попробовала, все работает...Была неправа, каюсь. Вы здорово облегчили мне жизнь! Уважаемый igor_c! Ваш вариант ещё не пробовала, но обязательно испробую! Спасибо, господа!
0
|
|
| 10.05.2011, 10:05 | |
|
Помогаю со студенческими работами здесь
9
Как организовать на сайте просмотр видео из торрент файлов? Создать текстовый файл с произвольной информацией. Организовать просмотр содержимого файла Организовать просмотр исходных данных и вывести список водителей, отсортированный по году приобретения машины
длина(рамер) печатаемого документа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|