Èìåþòñÿ â ðåêîðäñåòå MyTable ïîëÿ [Äëÿ Word].[diplom] ,[Äëÿ Word].[Íàçâà],[Äëÿ Word].[Ãîäèíè]
Ïîëå diplom ëîãè÷åñêîå îáîçíà÷àþùåå ,åñëè "Äà" òî ýòîò ïðåäìåò [Äëÿ Word].[Íàçâà] ïîïàäàåò â ïðèëîæåíèå ê äèïëîìó, íî åñòü åùå çàïèñè ñ ýòèì æå ïðåäìåòîì ,êîòîðûå íå äîëæíû ïîïàñòü â ïðèëîæåíèå ê äèïëîìó (çà÷åòû ïî òîìó æå ïðåäìåòó) ò.å. diplom = "Íåò", íî ÷àñû â ýòèõ çàïèñÿõ [Äëÿ Word].[Ãîäèíè] íåîáõîäèìî äîáàâèòü ê ÷àñàì çàïèñè ïîïàäàþùåé â äèïëîì.
×òî áûëî ÿñíåå íà ïðèìåðå:
èìåþùèéñÿ ðåêîðäñåò âûäàåò äëÿ ïå÷àòè
[Äëÿ Word].[Íàçâà] [Äëÿ Word].[Ãîäèíè] [Äëÿ Word].[diplom]
Èíôîðìàòèêà 100 Äà
Èíôîðìàòèêà 60 Íåò
Èíôîðìàòèêà 70 Íåò
à íàäî ïîëó÷èòü äëÿ ïå÷àòè :
Èíôîðìàòèêà 230 (100+60+70)
Êàêîé êîä èëè êàêîé ìåòîä ìîæíî èñïîëüçîâàòü äëÿ ìîäèôèêàöèè íèæåñòîÿùåãî êîäà:
Èìååòñÿ ðàáî÷èé êîä:
Private Sub Êíîïêà16_Click()
Dim app As Word.Application
Dim strPathDot As String, strPathWord As String
strPathDot = CurrentProject.Path & "\Êîìàð.dot"
strPathWord = CurrentProject.Path & "\Äîäàòîê " & Forms![Word]![Ôàìèëèÿ] & " " & Forms![Word]![èìÿ_î] & ".doc"
'Åñëè åñòü äîêóìåíò ñ òàêèì æå íàçâàíèåì è ìåñòîì ðàñîëîæåíèÿ, âûäàåòñÿ ñîîáùåíèå î çàìåíå
If Dir(strPathWord) <> "" Then
DlgUser = MsgBox("Äîêóìåíò ñ òàêèì èìåíåì ðàíåå óæå áûë ñîçäàí. Çàìåíèòü åãî?", vbYesNo, "admin")
'Åñëè íåò, îòêðûâàåòñÿ ñòàðûé äîêóìåíò
If DlgUser = vbNo Then
Set app = CreateObject("Word.Application")
With app
.Visible = True
.Documents.Open strPathWord
End With
Set app = Nothing
Else
GoTo nn
End If
Else
'Åñëè òàêîãî äîêóìåíòà íåò èëè, åñëè ÷åëîâåê âûáðàë "äà", òî ñîçäàåòñÿ íîâûé äîêóìåíò âçàìåí ñòàðîãî íà îñíîâå øàáëîíà
nn:
Set app = New Word.Application
app.Visible = True
app.Documents.Add strPathDot
With app.ActiveDocument
'Dim w As Variant
'w = FullDate(Forms![Word]![dn])
On Error Resume Next
'Âñòàâêà äàííûõ
.Bookmarks("Ôàìèëèÿ").Range.Text = Forms![Word]![Ôàìèëèÿ]
.Bookmarks("Èìÿ_î").Range.Text = Forms![Word]![èìÿ_î]
.Bookmarks("dn").Range.Text = FullDate(Forms![Word]![dn])
.Bookmarks("ndo").Range.Text = Forms![Word]![ndo]
.Bookmarks("fn").Range.Text = Forms![Word]![fn]
.Bookmarks("bak").Range.Text = Forms![Word]![bak]
.Bookmarks("Ñïåöèàëèçàöèÿ").Range.Text = Forms![Word]![Ñïåöèàëèçàöèÿ]
.Bookmarks("sp").Range.Text = Forms![Word]![sp]
.Bookmarks("tip_dok").Range.Text = Forms![Word]![tip_dok]
.Bookmarks("bak1").Range.Text = Forms![Word]![bak1]
.Bookmarks("s").Range.Text = Forms![Word]![s]
.Bookmarks("kv").Range.Text = Forms![Word]![kv]
.Bookmarks("ddip").Range.Text = FullDate(Forms![Word]![ddip])
.Bookmarks("ndiplom").Range.Text = Nz(Forms![Word]![ndiplom], "")
.Bookmarks("bdipl_bal").Range.Text = Nz(Forms![Word]![bdipl_bal], "")
.Bookmarks("datdruk").Range.Text = FullDate(Forms![Word]![datdruk])
.Bookmarks("dalshe").Range.Text = Nz(Forms![Word]![dalshe], "")
.Bookmarks("ispit").Range.Text = Nz(Forms![Word]![ispit], "")
.Bookmarks("bispit_bal").Range.Text = Nz(Forms![Word]![bispit_bal], "")
.Bookmarks("npra").Range.Text = Forms![Word]![npra]
.Bookmarks("ispit1").Range.Text = Nz(Forms![Word]![ispit1], "")
.Bookmarks("bispit_bal1").Range.Text = Nz(Forms![Word]![bispit_bal1], "")
.Bookmarks("mn").Range.Text = FullDate(Forms![Word]![mn])
.Bookmarks("os_baza").Range.Text = Nz(Forms![Word]![os_baza], "")
.Bookmarks("longpra").Range.Text = Nz(Forms![Word]![longpra], "")
.Bookmarks("data_dip").Range.Text = FullDate(Forms![Word]![data_dip])
.Bookmarks("npdip").Range.Text = Nz(Forms![Word]![npdip])
If Forms![Word]![fn] = "äåííà" Then
.Bookmarks("www").Range.Text = Forms![Word]![www]
.Bookmarks("www1").Range.Text = Forms![Word]![www1]
.Bookmarks("www2").Range.Text = Forms![Word]![www2]
.Bookmarks("www3").Range.Text = Forms![Word]![www3]
.Bookmarks("www4").Range.Text = Forms![Word]![www4]
.Bookmarks("termin").Range.Text = Forms![Word]![termin]
Else
.Bookmarks("www").Range.Text = Forms![Word]![zwww]
.Bookmarks("www1").Range.Text = Forms![Word]![zwww1]
.Bookmarks("www2").Range.Text = Forms![Word]![zwww2]
.Bookmarks("www3").Range.Text = Forms![Word]![zwww3]
.Bookmarks("www4").Range.Text = Forms![Word]![zwww4]
.Bookmarks("termin").Range.Text = Forms![Word]![termin1]
End If
Dim MyTable As DAO.Recordset
Set MyTable = CurrentDb.OpenRecordset("SELECT [Äëÿ Word].[ÊîäÑòóäåíòà],[Äëÿ Word].[diplom] ,[Äëÿ Word].[Íàçâà],[Äëÿ Word].[Áà],[Äëÿ Word].[Ãîäèíè],[Äëÿ Word].[fn],[Äëÿ Word].[navk],[Äëÿ Word].[navg], [Äëÿ Word].[znavk],[Äëÿ Word].[znavg] FROM [Äëÿ Word] WHERE ((([Äëÿ Word].[ÊîäÑòóäåíòà])=" & Forms![Word]![ÊîäÑòóäåíòà] & "))")
Dim i As Variant
Dim j As Variant
Dim Íàçâ As Variant
Dim Áàë As Variant
Dim Ãîä As Variant
i = 1
Do While Not MyTable.EOF
If (MyTable.Fields("fn")) = "äåííà" Then
j = CStr(Round(((MyTable.Fields("ãîäèíè")) * (MyTable.Fields("navk")) / (MyTable.Fields("navg"))), 1))
Else
j = CStr(Round(((MyTable.Fields("ãîäèíè")) * (MyTable.Fields("znavk")) / (MyTable.Fields("znavg"))), 1))
End If
Íàçâ = "Íàçâà" & i
Áàë = "Áà" & i
Ãîä = "Ãîäèíè" & i
If i >= 1 Then .Bookmarks(Íàçâ).Range.Text = CStr(MyTable.Fields("Íàçâà"))
.Bookmarks(Áàë).Range.Text = CStr(MyTable.Fields("Áà"))
.Bookmarks(Ãîä).Range.Text = CStr(MyTable.Fields("Ãîäèíè")) & "/" & j
i = i + 1
MyTable.MoveNext
Loop
MyTable.Close
.SaveAs strPathWord
End With
Set app = Nothing
End If
funOutputWord = True
Exit_:
End Sub
http://www.sql.ru/forum/1098593/dorabotat-kod-dlya-pechati-prilozheniy-k-diplomu