|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.08.2012, 13:30 | #1 |
Пользователь
Регистрация: 06.11.2010
Сообщений: 34
|
Зависания при распечатки из приложения ms access через acrobat disteller
Добрый день!
Давно мучает следующая проблема. Периодически при попытки распечатыки из приложения аксесс счета в пдф файл через дистиллер приложение зависает, приходится закрывать через диспетчера задач. Естесственно, никакой счет не печатается, принтер по умолчанию остается на акробат дистиллере, т.к. процедура до конца не выполняется. Говорят, частота зависаний напрягающая. Хотя иногда печатает хоть 20 документов подряд. С чем это может быть связано? |
13.08.2012, 13:33 | #2 |
Пользователь
Регистрация: 06.11.2010
Сообщений: 34
|
Public Sub PDF(index As Integer, stDocName As String)
Dim stDocName2 As String, LLen, k, lk Dim rst As DAO.Recordset Dim dbs As DAO.Database Dim sql As String, strCID, email, d, mess Dim rstCompany As DAO.Recordset, cID2 As String, cID As String Dim i, strmessage As String Dim dr As aht_tagDeviceRec Static atagDevices() As aht_tagDeviceRec d = getTMPFolder Set dbs = CurrentDb k = 1 'Отправка по e-mail Select Case index Case 1, 2 CompanyID = Forms![СчетаФактуры]![Рег.№ Заказчик] Case 3 CompanyID = Forms![Счета]![Рег.№ Заказчик] End Select cID2 = CompanyID Set rst = dbs.OpenRecordset("EmailOption", dbOpenDynaset) sql = "SELECT Company.[БухгалтерEMail] as SendTo FROM Company WHERE (((Company.CompanyID)=" + cID2 + ") and " _ & "((Company.[БухгалтерEMail]) Is Not Null) );" Set rstCompany = dbs.OpenRecordset(sql, dbOpenDynaset) Select Case index Case 1, 2 Case 3 stDocName2 = "Счет" End Select 'Список доступных принтеров If ahtGetDefaultPrinter(dr) Then For i = 1 To ahtGetPrinterList(atagDevices()) If atagDevices(i).drDeviceName = "Acrobat Distiller" Then ChangeToAcrobat DoCmd.OpenReport stDocName, acViewNormal OpenDialog ResetDefaultPrinter DoCmd.Close acReport, stDocName d = d + stDocName2 + ".pdf" Name d As FileNamePDF Dim m As Message, s As String, res As Long, nv nv = InputBox("Адрес отправителя:", "e-Mail", rst!MailFrom) If nv = "" Then nv = rst!MailFrom m.strFrom = Nz(nv, "") ' m.strFrom = Nz(rst!MailFrom, "") m.strTo = Nz(rstCompany!SendTo, "") m.strReplyTo = Nz(nv, "") m.strSubj = Nz(rst!MessageSubject, "") m.strBody = Nz(mess, "") m.strBodyPTHTML = Nz(mess, "") m.strHdrTransferEncoding = "" m.strTransferEncoding = "" m.strContentType = "text/plain" m.strFileAttach = d m.strExtraHeaders = "" m.iPriority = 0 m.strOrganization = "" If rst!authentication Then res = SendAuthMsg(AddressOf Progress, m, Nz(rst!smtp, ""), rst!User, rst!pass) Else res = SendMsg(AddressOf Progress, m, Nz(rst!smtp, "")) End If If res = 0 Then MsgBox "Сообщение отправлено." Else MsgBox "Ошибка отправления. - " & res End If GoTo 1 Else End If Next i MsgBox "Необходимо установить принтер 'Acrobat Distiller'!", vbCritical GoTo 1 End If End If Case 3 'stDocName2 = "Счет" If ahtGetDefaultPrinter(dr) Then For i = 1 To ahtGetPrinterList(atagDevices()) If atagDevices(i).drDeviceName = "Acrobat Distiller" Then ChangeToAcrobat DoCmd.OpenReport stDocName, acViewNormal 'OpenDialog ResetDefaultPrinter DoCmd.Close acReport, stDocName 'd = d + stDocName2 + ".pdf" 'Name d As FileNamePDF GoTo 1 Else End If Next i MsgBox "Необходимо установить принтер 'Acrobat Distiller'!", vbCritical GoTo 1 End If End Select 1: End Sub зависает на выделенной строке Последний раз редактировалось xanderg; 13.08.2012 в 13:34. Причина: правка |
13.08.2012, 15:20 | #3 |
Регистрация: 13.08.2012
Сообщений: 3
|
А на настоящий принтер нормально печатается ?
|
13.08.2012, 15:53 | #4 |
Пользователь
Регистрация: 06.11.2010
Сообщений: 34
|
честно говоря, этот отчет на обычный принтер печатать не требовалось
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Спонтанные зависания при EnumWindows, как избавиться, и что использовать Send/PostMessage | Человек_Борща | Win Api | 6 | 21.03.2012 12:47 |
зависания при использовании хука на мышь | like_cloud | Win Api | 2 | 08.12.2011 20:08 |
Зависания при подключении | alexprey | Работа с сетью в Delphi | 1 | 31.01.2011 21:55 |
Добавление записи через список в связанную таблицу(при связи с Access) | megaten | БД в Delphi | 5 | 17.05.2009 15:57 |
Как избавиться от зависания приложения при выполнении длительных операциях | Des | Общие вопросы Delphi | 15 | 30.04.2009 02:05 |