Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [MS Access] Печать 
V
    Опции темы
DeFeu
Дата 26.6.2008, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 26.6.2008

Репутация: нет
Всего: нет



Доброе время суток!

 
в базе данных есть кнопочная форма. в ней несколько документов. нажимая на кнопку открывается Word, в нем документ соответствующий (например, Договор Купли-Продажи, или Агентский договор). с открытием документов все в порядке.

вопрос в следующем. есть кнопка, нажимая которую, по идее, все документы, находящиеся в этой форме должны напечататься. и в разном количестве копий. 
 проблема в том, что нажимая на кнопку "печать" документы начинают друг за другом быстро открываться в Word, пока не откроется последний. принтер при этом не распечатывает ничего. потом нажимаешь отмену печати, и печать начинается! при этом печатает не все документы. например, идет сначала договор КП (кол-во -2 экз), потом агентский договор(2), потом устав(1) и т.д. печать начинается не с договора КП, а с агентского и дальше.

почему я не понимаю! процедуру кнопки составлял не я, поэтому даже не знаю что там не так.

подскажите в чем дело

Код

Private Sub Кнопка266_Click()
Dim Шаблон As String
Dim Контейнер As String
Dim printquan As Integer
 
Call printdoc("motor.dot", "motor.doc", 1)
Call printdoc("motorAD.dot", "motorAD.doc", 1)
Call printdoc("APPdv.dot", "APPdv.doc", 1)
Call printdoc("otagdv.dot", "otagdv.doc", 1)
Call printdoc("PKOdv.dot", "PKOdv.doc", 1)
Call printdoc("RKOdv.dot", "RKOdv.doc", 1)
 
 
End Sub
 
Private Sub printdoc(Шаблон As String, Контейнер As String, printquan As Integer)
Dim app As Word.Application
Dim strDOT As String
Dim strDOC As String
Dim ctl As Control
Dim s As String
 
    On Error GoTo 999
    With Application.CurrentProject
        strDOT = .Path & "\" & Шаблон
        strDOC = .Path & "\" & Контейнер
    End With
    
    Set app = New Word.Application
    app.Visible = True
    app.Documents.Add strDOT
    With app.ActiveDocument
        On Error Resume Next
        For Each ctl In Me.Controls
            If ctl.ControlType = acTextBox Then
                s = ctl.Name
                .Bookmarks.Item(s).Range.Text = Me(s)
                Err.Clear
            End If
        Next ctl
        .SaveAs strDOC
        For n = 1 To printquan
        .PrintOut
        Next n
        .Close
        app.Quit
        On Error GoTo 999
    End With
    Exit Sub
999:
    MsgBox Err.Description
    Err.Clear
    app.Quit
End Sub


Это сообщение отредактировал(а) Akina - 26.6.2008, 11:27
PM MAIL   Вверх
Akina
Дата 26.6.2008, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 17
Всего: 454



Модератор: Название темы должно соответствовать ее содержанию.

Цитата(DeFeu @  26.6.2008,  11:43 Найти цитируемый пост)
проблема в том, что нажимая на кнопку "печать" документы начинают друг за другом быстро открываться в Word, пока не откроется последний.

Программисту - руки оторвать.

Цитата(DeFeu @  26.6.2008,  11:43 Найти цитируемый пост)
принтер при этом не распечатывает ничего.

Правильно - система занята открытием груды Вордов. Да еще отображаемых.

Цитата(DeFeu @  26.6.2008,  11:43 Найти цитируемый пост)
потом нажимаешь отмену печати, 

Где?

Цитата(DeFeu @  26.6.2008,  11:43 Найти цитируемый пост)
печать начинается не с договора КП, а с агентского и дальше.

Печать идет в том порядке, в каком документы ставились в очередь. Если настройками очереди печати не задано иное.

Цитата(DeFeu @  26.6.2008,  11:43 Найти цитируемый пост)
процедуру кнопки составлял не я, поэтому даже не знаю что там не так.

Убей ее и напиши заново. Свою. Чтобы знать, что происходит.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
DeFeu
Дата 26.6.2008, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 26.6.2008

Репутация: нет
Всего: нет



Цитата

Правильно - система занята открытием груды Вордов. Да еще отображаемых.


в принципе, это не нужно. можно убрать, я думаю

Цитата

Убей ее и напиши заново. Свою. Чтобы знать, что происходит. 


Akina извините, не силен. потому и обратился за помощью. не по адресу?)

может хоть какой пример дадите, на подобие. 
PM MAIL   Вверх
Akina
Дата 26.6.2008, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 17
Всего: 454



Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена!


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
DeFeu
Дата 26.6.2008, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 26.6.2008

Репутация: нет
Всего: нет



не домашнее задание и не курсовая, а рабочая программа с багами. с этой базой работают, но хочется исправить недостатки, чтоб не было заморочек. 
PM MAIL   Вверх
Akina
Дата 26.6.2008, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 17
Всего: 454



Если это боевая задача с реальными данными, с ней должен работать специалист, а не начинающий.
Рабочие материалы - не предмет для обучения и экспериментов.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bopoha
Дата 26.6.2008, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: нет
Всего: 21



Быстро можно поправить так. После PrintOut "засыпать" на какое-то время (выяснить на практике). Скорей всего это время будет зависеть от количества страниц. 

Код

'-- WinAPI функция
Public Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)

Sub test()
    Sleep (1000) '-- заснуть на 1 сек
End Sub

PM MAIL WWW ICQ Skype GTalk   Вверх
DeFeu
Дата 30.6.2008, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 26.6.2008

Репутация: нет
Всего: нет



ТЕМА ЗАКРЫТА

Это сообщение отредактировал(а) DeFeu - 3.7.2008, 08:29
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0842 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.