【word】 利用Access VBA实现带相片考生资格审批表打印
利用Access VBA实现带相片考生资格审批
表打印
AccessVBA?????r???/?e?U?>?D??????????
a????M????[??S
?X???N???????e???(,?i???????;???????r?i???/???e?U?>?D??????,?6?????????????B?????P?t???,???M????[c?H?????XAc2
cess????,???L?XVBA?k?S??????,?????????M????,?i?????????X???D[c
AccessVBA????FileSystemObject
??[A?.??
1999??????,???(?)?3?2?[?A???3?2[A?[?c?B?E,?????3?2?????/???X
?3?2???????B????????????,?????1?I??[A???U????[A???????B[A?e??????
?[???U???P,?????????????n???B[c?3?2???????B?????????X?3?2?s????
?????B?????????[?????????X,?6?X?????????????l???X?t??,???t????
???2?????I?????????/?_,?t???B???/?????m???U????????????????????
??????,?y???XAccess???????s?B???????????????????????U?a???????n
??,?????3?2???????B???????????????s?B????[c
Access?=Office???????p????????,?=???M?????\?B?n?2?y?9?????X
?????A?????s?B????[c???(Access???????=?X?????U?N?n?2??????????
???O????,???????u?????????????i,???:?????X?g??????????????????[c
VBA?=?????????k????,?????????:?X???S???????k,?????G??????????
???????8[c
??[A?r???/?e?U?>?D????????????????
???X??Access??????VBA?k?S?????r???/?e?U?>?D????????????
??,???????S???M????[c
1.???(?)?3?2???????B?????????????H?????U???e????
???????B???????????????(??bkbpdfb???n?j?????????????l??????
?????H????,?j???P?????????B???????????????B?????????U???e??????
??????,??????1?M???????9?????N???????/?&??????JPG????????????
???/???t??,?X?????j???B???/???????????????O???N,???j???????&??
?X??????????[c???????M?t?n???/??????????,?????n???H??[c
?????t?????????/???????H????0CCRTVU?(?)?3?2???????B????0R,
?i??[b?e?????B[j?(??[b?e?n?k??????[j,?i?????????U???????A,??0C???N
?H??????0R,?????????i??,?X???????????6?(?i??[b?e???P????[j,?X????
?????(????000000000,?????????(????999999999,?i???????O?([b?U?b??
?????O????[j?i??,????????????,?????i??Excelwithheaders,?t???n0C??
????????0R,????[b????[j?i??,?B?????????????[?,???????S[c
2.?I??Access????
?XAccess?(?i??[b????[j?????O,?X[b??[j???????)?i??[b????[j?i??,?X
?????i??3.XLS,?????t?n?P??0CCRTVU?(?)?3?2???????B????0R?(????
??0C??????????0R[c
???H?????[???m,???????????????I??[c?i??[b????[j?????O,?X[b??
??[j???????????????t?n0C?i???U????0R,?X???????????(???????M???H?6
????,???????t?????n????,?????????M?????i??,?????,?j?????N?n????
??0C?????e?U?>?D??????0R[c
?i??[b????[j?????O,?X[b????[j????????????,?i????????[b??????[j??
?????S???A[c
SELECT??????????.3
FROM??????????
WHERE(((??????????.????)=Trim([Forms]![?i???U????]![??
??])));
Trim([Forms]![?i???U????]![????])???n???????????D,?????n
0C?i???U????0R??????0C????0R???H?6??????[c
??????????????,?i??[b?????m?B??[j,?????????????????n,?8?i??
??[A?X?i????[A??[A??[A??????,???X[b?????m?B??[j??????????[b?????i[j[A
[b?????P[j?i??0C?=0R,???n?i???????????B??,???B?F[A??[A??[A?B[A????????
???[[b?_??[j???B,???n?????B?????=?i?????M?????????N?n[c
3?k??VB???A???????/????
?n?????????????u???N?n?t?y?????/,?????P??????Access??????
Image??????????,?????8?B???MImage?????????[?????????????P???B,
?B?????????/?,?j???0???/[c????????:?i??[b????[j????,?X[b??[j?????0
?,???),?i??[bVisualBasic?k????[j????,?u??VisualBasic?k????,?i??
???????_????Format????????[c?X???????A?(,?P??FSO?????????????h
??,?S?=?r???X???/?????m???????(?????????u??,?????????J?s?B,???X
CurrentProject.Path????????????????????????[c
???????S???A:
FunctionExistsFile_UseFso(strPathAsString)AsBoolean
Dimfso
Setfso=CreateObject(“Scripting.FileSystemObject”)
ExistsFile_UseFso=fso.FileExists(strPath)
Setfso=Nothing
EndFunction
PrivateSub?_??_Format(CancelAsInteger,FormatCountAsInteger)
0J???/
DimstrPic_oldAsString
OnErrorResumeNext
strPic_old=CurrentProject.Path&”\”&Nz(???/old.Value,”“)0J
?s
?B?n???/?n????????
IfExistsFile_UseFso(strPic_old)=TrueThen0J?h?????/?=?r???X
OnErrorResumeNext
???/?N?nold.Picture=strPic_old
If???/?N?nold.Picture<>strPic_oldThen0J?h???=?r?n????
???????/
???/?N?nold.Visible=False
???/?M???[old.Visible=True
Else
???/?N?nold.Visible=True
???/?M???[old.Visible=False
EndIf
Else
???/?N?nold.Visible=False
???/?M???[old.Visible=True
EndIf
EndSub
?i[A??????
???l???????S?[,Access???????????n?2[A?????????9?X,?B?3?2????
???B??????????Access???????F????,?P??VBA?k?S,???????????P????
?????=????,???U?????j?????????s?B???????????8??[c
???e???):
[1]??????.?????????X???=Access[M].?l??:?l?????????????8
?N,2005.
[2]??????.Access2003???&????????[M].?p??:?n?????P???8
?N,2006.
[3]?8???wVB?????????8?????e?????X[M]?p???(????
?????8?N,5
(???V?????????????3???2??;?????????????3???2??)
36
?(???E?k?????S???l????????
10/2008
.A
.AccessA.:
200.
:
1