Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Совсем вылетело
 
 автор: час   (24.04.2011 в 19:09)   личное сообщение
 
 

Чё та из бошки вылетело......
а как отчёт, мне сразу на печать послать
Чтоб на экране вовсе не видать
Тут значит - юзвер отдыхает
А принтер данные глотает......

  Ответить  
 
 автор: Lukas   (24.04.2011 в 19:17)   личное сообщение
 
 

Подберите правильный аргумент для DoCmd.OpenReport

  Ответить  
 
 автор: час   (24.04.2011 в 20:25)   личное сообщение
 
 

Спасибо Вам - Lukas !

  Ответить  
 
 автор: час   (24.04.2011 в 20:37)   личное сообщение
 
 

А как составить список доступных принтеров ?
Я потом по условию буду слать отчёт на нужный принтер...

  Ответить  
 
 автор: Lukas   (24.04.2011 в 20:40)   личное сообщение
 
 

http://hiprog.com/index.php?option=com_content&task=view&id=464

Либо через коллекцию Printers

  Ответить  
 
 автор: Explorer   (24.04.2011 в 20:44)   личное сообщение
189 Кб.
 
 

==>

-------------
Гетц, Литвин, Гилберт
"Access 2000 - руководство разработчика"
том 1 глава 10

-------------
кстати - Public Function adhFillDeviceList хорошо дополнит F1 в разделе
RowSourceType Property (User-Defined Function)

  Ответить  
 
 автор: Lukas   (24.04.2011 в 21:00)   личное сообщение
 
 

RowSourceType Property (User-Defined Function) - штука довольно "тяжелая" и небыстрая, как мне показалось ранее.
Не?

  Ответить  
 
 автор: Explorer   (24.04.2011 в 21:10)   личное сообщение
 
 

:)
для таких целей как эта вполне подходящая - равно как список дисков, каких-то системных устройств, список объектов и их свойств и т.п.

для иных целей не использовал (и даже в голову не приходило)

а!

прикручивал еще куда-то в эксперементальных целях - типа навигации по объектам файловой системы, в общеобразовательных целях.

  Ответить  
 
 автор: Lukas   (24.04.2011 в 21:14)   личное сообщение
 
 

:)
Ок.

  Ответить  
 
 автор: час   (24.04.2011 в 21:17)   личное сообщение
 
 

Спасибо!!!

  Ответить  
 
 автор: час   (26.04.2011 в 20:35)   личное сообщение
 
 

А может, если известно имя принтера, можно как то строку написать:
типа принтер1.печать отчёт_1
принтер2.печать отчёт_2
или это бред часа?

  Ответить  
 
 автор: Lukas   (26.04.2011 в 20:40)   личное сообщение
 
 

Нельзя в код прошивать имя принтера - это весчь переменчивая.

  Ответить  
 
 автор: час   (26.04.2011 в 20:46)   личное сообщение
 
 

Нуууууу в исключительном случае?
постоянно будет - 1 комп - два принтера, на одном принтере один отчёт всегда будет, на другом принтере всегда второй отчёт будет...........

Если када то вдруг - что то - я строчку перепишу.........

  Ответить  
 
 автор: час   (26.04.2011 в 21:08)   личное сообщение
 
 

вот надыбал в дебрях компутера


Private Sub ReportSetup()
Dim prtFirst As Printer
Dim prtLoop As Printer
Dim s As String
Dim i As Long
'Подготавливаем список принтеров
For Each prtLoop In Application.Printers
    With prtLoop
        s = s & i & "-" & .DeviceName & "/" & "Driver name: " & .DriverName & " Port: " & .Port & VBA.vbCrLf
    End With
    i = i + 1
Next prtLoop

'Открываем отчет в режиме конструктора, в скрытом режиме

'DoCmd.OpenReport "TestRep", acViewDesign, , , acHidden

DoCmd.OpenReport "TestRep", acViewPreview, , , acHidden
'Предлагаем выбрать принтер из подготовленного выше списка
'i = InputBox(s & "  Введите номер принтера, если принтер один тогда номер - 0 -", "Введите номер принтера", 0)
i = 0 '  Принтер по умолчанию

'Настраиваем отчет на работу с выбранным принтером
Reports("TestRep").Printer = Application.Printers(i)
Set prtFirst = Reports("TestRep").Printer

' Раскомментируйте свойства принтера, значения которых хотите изменить программно
With prtFirst
                                .TopMargin = Me.верх '1440
                                .BottomMargin = 1440
                                .LeftMargin = Me.левого
                                .RightMargin = Me.Справа
' .ColumnSpacing = 360
' .RowSpacing = 360
''.ColorMode = acPRCMMonochrome
                                .DataOnly = False 'данные , без даных true
'.DefaultSize = False 'True '
'.ItemSizeHeight = Val(Me.Высота)' выводит на пол страницы
'.ItemSizeWidth = Val(Me.Ширина) '2880
'.ItemLayout = acPRVerticalColumnLayout
'.ItemsAcross = 6
                            .Orientation = Me.Orientanion
                            .Copies = Me.Экзепляры
'.Duplex = acPRDPVertical
'.PaperBin = acPRBNAuto
'.PaperSize = acPRPSA4 ' acPRPSLetter
'.PrintQuality = acPRPQDraft ' acPRPQMedium
End With
'Закрываем отчет, сохраняя сделанные изменения
DoCmd.Save acReport, "TestRep"
'DoCmd.Close acReport, "TestRep", acSaveYes
'Открываем отчет в режиме просмотра
DoCmd.OpenReport "TestRep", Me.Печать

End Sub

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList