Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
mdug
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 4
#1

Как организовать просмотр печатаемого?

08.05.2011, 12:15. Просмотров 832. Ответов 8
Метки нет (Все метки)

Некая печатная форма печатается с помощью объекта Printer. Естетственно, сразу идёт на печать. Но очень хочется иметь возможность просмотреть подготовленный документ перед печатью (и, может быть, от печати потом отказаться). Печатать в файл?...Потом просматривать?... Что-то мне это не понравилось... Datareport не подходит, потому что запросы очень навороченные со сложными группировками и т.д.
Может быть кто-то подскажет?
Спасибо!

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2011, 12:15
Ответы с готовыми решениями:

Система просмотра печатаемого документа
Всем доброго времени суток! Все неоднократно работали с просмотром в MS...

Как организовать длительное копирование файлов с анимац картинкой летящих листочков как в Windows
Как организовать длительное копирование файлов с анимационной картинкой летящих...

Как организовать сортировку файлов?
S uvageniem! Kak otsortirovat faily v papke - po imeni, date ili razmeru

Как организовать паузу в VBScript
У меня такой вопрос: Как организовать паузу в скрипте находящемся в HTML?...

Как организовать работу с базой?
Сама я еле-еле в программировании, один семестр только, но на работе, где...

8
VBMike
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 37
08.05.2011, 14:48 #2
А вывалить всё в Ексель не подойдет? А оттуда уже распечатывать, при необходимости
0
mdug
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 4
08.05.2011, 14:59  [ТС] #3
Простите за тупость...А как?
То есть в Exel из VB качала, было, но в заранее подготовленный файл с запросами, обновляемыми при открытии. А здесь запрос строится интерактивно внутри проги, каждый раз разный (правда, не по количеству выводимых полей, а по условиям отбора). Возможно, существует более гибкий и простой способ выгрузить данные по запросу в Exel... Please!! Подскажите!
0
igor_c
0 / 0 / 0
Регистрация: 04.03.2008
Сообщений: 250
08.05.2011, 18:14 #4
Работа через ADO, DAO или еще как?
0
maga2
0 / 0 / 0
Регистрация: 12.07.2010
Сообщений: 128
08.05.2011, 22:49 #5
У меня 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:=AppExcel.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
mdug
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 4
09.05.2011, 10:23  [ТС] #6
1. Работаю с ADO
2.В последнем сообщении в примере в Exel выгружается готовый отчет, видимо, созданный дизайнером VB6 Datareport. Мне это не подходит! Если бы данные формы я могла сделать в Datareport вопросов бы не было! Но всё равно, спасибо.
0
igor_c
0 / 0 / 0
Регистрация: 04.03.2008
Сообщений: 250
09.05.2011, 16:03 #7
В общих чертах:
SQL='SELECT список_полей INTO [Excel 8.0;HDR=YesATABASE=C:
eport.xls FROM тут_текст_запроса'
Set rs = New ADODB.Recordset
rs.Open SQL, cn

Думаю, подойдет
0
maga2
0 / 0 / 0
Регистрация: 12.07.2010
Сообщений: 128
09.05.2011, 20:13 #8
> 2.В последнем сообщении в примере в Exel выгружается готовый отчет, видимо, созданный дизайнером VB6 Datareport...

ничего подобного. Напротив, я свои отчеты формирую одним или несколькими запросами SQL. См. строку SQL = 'SELECT ......
Эти запросы настолько спецефичны, что ихя заменил многоточием.
Если отчет сложней и одним запросом не обойтись, то
где-то перед строкой
.Open SQL, conn, adOpenForwardOnly, adLockOptimistic
можно 'прогнать' несколько промежуточных запросов (.Execute 'Ваш запрос').

Никаких Datareport. Все своими ручками. Все работает. 100% рабочий пример. Не знаю, что Вас не устраивает.
0
mdug
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 4
10.05.2011, 10:05  [ТС] #9
Уважаемый Maga!
Все попробовала, все работает...Была неправа, каюсь.
Вы здорово облегчили мне жизнь!

Уважаемый igor_c!
Ваш вариант ещё не пробовала, но обязательно испробую!

Спасибо, господа!
0
10.05.2011, 10:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2011, 10:05

Как организовать построчную печать?
Подскажите,плиз,кто знает, как организовать построчную печать. На принтер...

Как организовать поиск по файлу?
kak organizovat'poisk v file... u menya est'log file.... iskat'nado po...

Как организовать функцию на VB из Delphi
Здравствуйте, помогите пожалуйста переделать функцию с Delphi на VB, застрял на...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru