Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5   вперед  Ctrl      все
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko,

А это я ещё не пробовал, попробую прописать для конкретной формы, мо заработает.

Сообщение было отредактировано: 24 июн 21, 00:01
24 июн 21, 00:07    [22339523]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
завтра

Сообщение было отредактировано: 24 июн 21, 00:01
24 июн 21, 00:09    [22339528]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
Вставил в кнопку формы


Private Sub Кн_Таб_Дебет_Click()
    Dim stDocName As String
    Dim stLinkCriteria As String
    
    Dim rpt As Forms
    Set rpt = Me.Ф_Увед_Конверт_Должн
    If П_Выбор_Печать = "Односторонняя" Then
       Printer.Duplex = acPRDPSimplex
    Else
       Printer.Duplex = acPRDPHorizontal 
    End If

    stDocName = "Ф_Дебиторка"
    DoCmd.OpenForm stDocName, acFormDS
Exit_Кн_Таб_Дебет:
    Exit Sub
Err_Кн_Таб_Дебет_Click:
    MsgBox Err.Description
End Sub

не помогло
24 июн 21, 08:39    [22339579]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 849
Wawan2005,
+ нужно что-то типа такого
Private Sub Кн_Таб_Дебет_Click()
On Error GoTo Кн_Таб_Дебет_Click_ERROR
    With Me.Printer
    If П_Выбор_Печать = "Односторонняя" Then
       .Duplex = acPRDPSimplex
    Else
       .Duplex = acPRDPHorizontal
    End If
   End With
    DoCmd.OpenForm "Ф_Дебиторка", acFormDS' сомневаюсь что такой формат, может DoCmd.PrintOut ...?

Exithere:

Exit Sub
Кн_Таб_Дебет_Click_ERROR:
If RejDevel00pers Then Debug.Print err.Number; Tab; err.Description: Stop: Resume ' RejDevel00pers =true 
Resume Exithere

End Sub
24 июн 21, 15:08    [22339787]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko,

Не помогло -(
24 июн 21, 15:29    [22339799]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 849
Wawan2005, такой способ вывода на печать это про отчеты.
24 июн 21, 15:40    [22339809]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko,

Таааак, уже интереснее, у меня то форма-(
Могу выслать саму базу (просто она в РАРе и то 16 мег, меньше ужать не могу)

Сообщение было отредактировано: 24 июн 21, 16:56
24 июн 21, 17:04    [22339847]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 849
Wawan2005, способ вывода с помощью открытия - так печатаются отчеты - у них есть такое свойство при открытии 2-й раз в нормальном режиме отчет идет на печать - у форм такого нет,
acFormDS - вывод формы в виде таблицы - с таким не работал, но сомневаюсь что такой способ вывода формы автоматом отправит на принтер её. поэтому либо пробовать вывод на печать printout, либо как все - отчеты :)
24 июн 21, 17:09    [22339849]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko,

отчёт тоже не реагирует на дуплекс-(
только что переделал форму в отчёт, не помогло (по большому счёту мне пофигу форма это будет или отчёт)
24 июн 21, 17:32    [22339865]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 849
Wawan2005, в отчете кнопку нажать не получится - его нужно открыть в 1-й раз в режиме предварительного просмотра - отформатировать как надо. кнопку нажимать в форме :). ну скиньте че уж, раз влез в эту тему.
24 июн 21, 18:21    [22339890]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko,

Спасибо, за ответ, завтра буду на работе попробую (дома нет принтера с двухсторонней печатью)
25 июн 21, 22:30    [22340488]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko,

Всё равно не работает-(
28 июн 21, 09:53    [22340953]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
Вот этот код принимает как родной всё работает:
+
'Смена принтера
Private Sub П_Выбор_Принт_AfterUpdate()
    Set Application.Printer = _
        Application.Printers.Item(Me.П_Выбор_Принт.Value)
    MsgBox "Принтер по умолчанию: " & Me.П_Выбор_Принт
End Sub
Private Sub Form_Load()
    Dim prt As Printer
    For Each prt In Printers
        Me.П_Выбор_Принт.AddItem prt.DeviceName
    Next prt
    Me.П_Выбор_Принт = Application.Printer.DeviceName
End Sub

Меняет принтер всё без проблем

А вот со сменой одно- двух- сторонней печати проблема
+
Private Sub П_Выбор_Печать_AfterUpdate()
    Dim rpt1 As Forms
    Set rpt1 = Forms
    If П_Выбор_Печать = "Односторонняя" Then
       Printer.Duplex = acPRDPSimplex
    Else
       Printer.Duplex = acPRDPHorizontal ' - acPRDPVertical rpt.Ф_Увед_Конверт_Должн
    End If
End Sub

Как будто этого куска кода не существует.

Попробовал печатать отчётом, вот такой код прислал "alecko" тоже не помогло
+
  Private Sub Кн_Конверт_Должн_ОТЧ_Click()
    Dim stLinkCriteria As String
    Dim stDocName As String
stDocName = "О_Увед_Конверт_Должн"
   With Me
    If .OpenArgs = "Односторонняя" Then
       .Printer.Duplex = acPRDPSimplex
    Else
       .Printer.Duplex = acPRDPHorizontal ' - acPRDPVertical rpt.Ф_Увед_Конверт_Должн
    End If
    End With
    DoCmd.OpenReport stDocName, acViewPreview
    DoCmd.OpenReport stDocName, acViewNormal
    DoCmd.Close acReport, stDocName
    DoCmd.Close acForm, Me.Name
    End Sub

Тоже работать не хочет.

Нашёл вот кусок кода, но не могу адаптировать под себя, может кто помочь?
+
Sub mm160224()           '''запускается при закрытом отчете
CheckCustomPage "query1"
End Sub
Public Sub CheckCustomPage(ByVal rptName As String)
 
    Dim DevString As str_DEVMODE
    Dim DM As type_DEVMODE
    Dim strDevModeExtra As String
    Dim rpt As Report
    Dim intResponse As Integer
    
    ' Opens report in Design view.
    DoCmd.OpenReport rptName, acDesign
    Set rpt = Reports(rptName)
    
    If Not IsNull(rpt.PrtDevMode) Then
        strDevModeExtra = rpt.PrtDevMode
        
        ' Gets current DEVMODE structure.
        DevString.RGB = strDevModeExtra
        LSet DM = DevString
        
        
            intResponse = MsgBox("d=" & DM.intDuplex, vbDefaultButton1)
        
        If intResponse = vbYes Then
 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
DM.intDuplex = 2
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
''попробовать не могу, у меня нет такого принтера
''An Integer. For a printer capable of duplex printing, specifies whether the output is printed on both sides of the paper. The values are
''1 (simplex), 2 (horizontal), and 3 (vertical).
           
'' Для принтера, способного двусторонней печати,
''указывает ли печатается выходной на обеих сторонах бумаги. Значения
'' 1 (симплекс), 2 (по горизонтали), а 3 (по вертикали).
           
            ' Update property.
            LSet DevString = DM
            Mid(strDevModeExtra, 1, 94) = DevString.RGB
            rpt.PrtDevMode = strDevModeExtra
        End If
    End If
    
    Set rpt = Nothing
    
End Sub

В идеале хочу, что бы установки принтера выбирались в главной форме и действовали на все документы отправляемые на печать.
Такое возможно???
Кто нибудь подскажет???
28 июн 21, 10:39    [22340982]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko
у гетца - 9-я глава 1-й том.
приложение к главе 9


Здесь был, разобраться не смог
28 июн 21, 10:41    [22340985]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko,

А у вас нет этой книги, а то чёт в инете на русском найти так и не смог , может по этому и разобраться с приложением не получилось?
28 июн 21, 10:50    [22340992]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 849
Wawan2005,
в коде у меня ошибка
план действий:
- открываем отчет
настраиваем дуплекс
печатаем
все закрываем, возвращаемся на форму

+ исправлено
  Private Sub Кн_Конверт_Должн_ОТЧ_Click()
    Dim stLinkCriteria As String
    Dim stDocName As String
stDocName = "О_Увед_Конверт_Должн"
    DoCmd.OpenReport stDocName, acViewPreview, , , acHidden' открыли отчет скрыто
    If not  Me.OpenArgs = "Односторонняя" Then
       Reports(stDocName).Printer.Duplex = acPRDPHorizontal ' настроили дуплекс
    End If
    DoCmd.OpenReport stDocName, acViewNormal' печать 
    DoCmd.Close acReport, stDocName ' все закрываем
    DoCmd.Close acForm, Me.Name
    End Sub

1-й том

Сообщение было отредактировано: 28 июн 21, 12:43
28 июн 21, 12:51    [22341050]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko,

Не сработало-(
28 июн 21, 13:06    [22341062]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 849
Wawan2005,
у меня это (похожая процедура-там и выбор лотка, и ориентация, поля) работала на HP-4350, HP-4250.
прога Гетца, которая дает всю информацию о принтерах что показывает?
принтер должен быть по умолчанию установлен тот, который поддерживает дуплекс, либо его нужно назначить таковым перед печатью.

Сообщение было отредактировано: 28 июн 21, 13:34
28 июн 21, 13:37    [22341091]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko,

У меня 2 принтера с дуплексом HP LaserJet Pro M428f-M429f UPD PS и Canon IP7240, ни один не хочет печатать двухсторонку, оба показывают наличие дуплекса в проге геца, и принтер сначала выбираю один из этих

Сообщение было отредактировано: 28 июн 21, 15:01
28 июн 21, 15:10    [22341136]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko,

Попробовал с Геца
Private Sub Кн_Конверт_Должн_ФОР_Click()
    Const conReport As String = "О_Увед_Конверт_Должн"
    DoCmd.OpenReport conReport, _
     View:=acViewPreview, WindowMode:=acHidden
    With Reports(conReport).Printer
        .Duplex = acPRDPHorizontal
    End With
    DoCmd.OpenReport conReport
    DoCmd.Close acReport, conReport
End Sub

нифика не работает
Мож какая ДЛЛеха не подключена???
28 июн 21, 16:48    [22341181]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko,

К стати за книгу спасибо.
28 июн 21, 16:53    [22341184]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 849
Wawan2005,чет не посмотрел - там у вас превышение ширины страницы (откройте отчет в режиме конструктора -увидите слева вверху зеленый треугольник), т.е. он печатает вторым листом на обороте пустой небольшой кусочек - поэтому может быть не видно - страницу поменьше сделайте (либо поля).
на всякий, для проверки в параметрах страницы есть возможность выбрать принтер вручную попробуйте назначьте его "жестко".
28 июн 21, 16:55    [22341187]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko,

Да и ещё оказывается пример геца "frmPrinterSettings" при попытке напечатать двухсторонний документ выдаёт ошибку

ругается на " Set rpt = Reports(mstrName) "

+
Private Sub cmdPrint_Click()
    Dim rpt As Report
    
    Set rpt = Reports(mstrName)
    With rpt.Printer
        .ColorMode = cboColorMode.Value
        .Copies = txtCopies.Value
        .Duplex = cboDuplex.Value
        .Orientation = cboOrientation.Value
        .PaperBin = cboPaperBin.Value
        .PaperSize = cboPaperSize.Value
        .PrintQuality = cboPrintQuality.Value
    End With
End Sub

прямо в файле Ch09
28 июн 21, 17:12    [22341193]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko
Wawan2005,чет не посмотрел - там у вас превышение ширины страницы (откройте отчет в режиме конструктора.

Попробовал не помогло.
Принтер не прописывал "жёстко", так как выбор принтера по умолчанию выбирается изначально адекватно, какой выбрал туда и летит.
28 июн 21, 17:18    [22341195]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с выводом на печать  [new]
Wawan2005
Member

Откуда: Волгоград
Сообщений: 466
alecko,

Может что-то у меня с Офисом, есть какие нибудь мысли?
как вариант (чисто поржать) могу переустановить (у меня 2007) , или поставить другой : есть 2010; 2013; 2016; 2019, даже 2003 есть но он изначально половину моей базы не поймёт-)
Сборка Beloff_20.10

Сообщение было отредактировано: 28 июн 21, 17:14
28 июн 21, 17:23    [22341198]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить