Печать в Worde из формы основанной на запросе.

sneg
Дата: 27.11.2006 16:51:11
Здравствуйте!

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

Есть Поисковая_Форма, основанная на запросе:
Public Sub Поиск(ПЗагрформ As Boolean)
Dim strSQL As String
Dim Prefix As String

strSQL = " SELECT Пнз,Код FROM Запрос1 "
Prefix = " WHERE "

If Not ПЗагрформ Then
    If Nz(Me.полесосписком_Пнз, "") <> "" Then
        strSQL = strSQL & Prefix & " Пнз LIKE '*" & Nz(Me.полесосписком_Пнз, "") & "*' "
        Prefix = " AND "
    End If
    If Nz(Me.полесосписком_Код, "") <> "" Then
        strSQL = strSQL & Prefix & " Код LIKE '*" & Nz(Me.полесосписком_Код, "") & "*' "
        Prefix = " AND "
    End If
    
    
Else
    
    strSQL = strSQL & Prefix & " 1 = -1 "
End If

Me.список1.RowSource = strSQL
Me.список1.Requery

End Sub


Печать в Worde из формы, закладкам дается имя контрола:
Private Sub btnWord_Click()
Dim WrdA As New Word.Application
Dim WrdD As Word.Document
Dim strA As String



Set WrdD = WrdA.Documents.Add(CurrentProject.Path & "\sample2.dot")
WrdA.Visible = True
'=============================================================================
'сделать в шаблоне вордовскую табличку и заполнять её добавляя строки
Dim i As Integer
With Form.RecordsetClone
If .RecordCount <> 0 Then
i = 2
.MoveFirst
While Not .EOF
WrdD.Tables(1).Rows(i - 1).Select
WrdA.Selection.InsertRowsBelow 1
WrdD.Tables(1).Cell(i, 1).Range = Nz(!Пнз, "")
WrdD.Tables(1).Cell(i, 2).Range = Nz(!Код, "")

i = i + 1
 .MoveNext
Wend
End If
End With

End Sub
bubucha
Дата: 27.11.2006 17:18:34
А в чем вопрос то? Пишем в ворде макрос печати, копи-пасте полученный код, рихтовка и усе.
sneg
Дата: 27.11.2006 23:26:42
Спасибо за ответ.
Вы не могли бы конкретно написать, где именно в ворде и как(сам код):
bubucha
Пишем макрос печати, копи-пасте полученный код, рихтовка и усе.
bubucha
Дата: 27.11.2006 23:52:02
автор
Вы не могли бы конкретно написать, где именно в ворде и как(сам код):

В ворде включается запись макроса (красная вроде кнопка). Делаются все необходимые действия. Останавливается запись (вроде квадратная-синяя кнопка). Alt+F11 - переходим в вба редактор и наблюдаем код, который порадился всеми действиями в ворде - и усе. Дальше, имея объектную переменную на нужный объект ворда, прикручиваетм это (скопированныый из вба-ворда код) к access
sneg
Дата: 28.11.2006 08:28:50
Спасибо, конечно, но мне не совсем понятно:
bubucha
Делаются все необходимые действия.


Хотелось бы адаптировать этот код:
Private Sub btnWord_Click()
Dim WrdA As New Word.Application
Dim WrdD As Word.Document
Dim strA As String



Set WrdD = WrdA.Documents.Add(CurrentProject.Path & "\sample2.dot")
WrdA.Visible = True
'=============================================================================
'сделать в шаблоне вордовскую табличку и заполнять её добавляя строки
Dim i As Integer
With Form.RecordsetClone
If .RecordCount <> 0 Then
i = 2
.MoveFirst
While Not .EOF
WrdD.Tables(1).Rows(i - 1).Select
WrdA.Selection.InsertRowsBelow 1
WrdD.Tables(1).Cell(i, 1).Range = Nz(!Пнз, "")
WrdD.Tables(1).Cell(i, 2).Range = Nz(!Код, "")

i = i + 1
 .MoveNext
Wend
End If
End With

End Sub
sneg
Дата: 28.11.2006 08:49:47
Или выложите пример.
sneg
Дата: 28.11.2006 09:39:30
Alexander G откликнитесь, вы мне когда-то помогли, именно в этом вопросе.
bubucha
Дата: 28.11.2006 11:15:27
вот кусок рабочего приложения
Global WD As Word.Application
Set WD = CreateObject("Word.Application")
WD.Documents.Open FileName:=ИмяФайла
WD.ActiveDocument.PrintOut , , , , , , , КоличествоКопий, , , , True 'собственно сама печать 
я не совсем понял на что сделан упор - на саму печть, или на формирования запроса в ворде....
sneg
Дата: 28.11.2006 13:57:46
Формирование запроса в ворде.

Форма:
-На ней Список1-источник Запрос1
-На ней полесосписком_Пнз, полесосписком_Код-по которым фильтруется Список1.

Так вот, надо что-бы эти отфильтрованные записи, по нажатии Кнопки выводились на печать в ворд.
sneg
Дата: 28.11.2006 21:46:14
Позабыт и позаброшен.
Форумчане, без вас не справлюсь.