程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> 用Access打印帶相片的證件

用Access打印帶相片的證件

編輯:關於Access數據庫
最近筆者接到一個任務,要將學生的證書信息及相片打印到3+1技能證書模板上,並且還要傳到網上供用人單位查詢。 原始數據分兩部分,一部分是包含學生姓名、身份證號、認證項目、證書編號等信息的Excel表;另一部分是按認證項目分類、以學生姓名為名的相片,圖片大小均為90×120像素,圖片格式均為JPG。

  考慮到時間上的緊迫性,還有用戶操作的易用性,以後上網查詢所需數據庫的兼容性,因此決定選用Access來開發。Access具有強大的窗體創建、報表打印、VBA編程功能,足以勝任大部分小型數據庫應用系統的開發。

  創建數據庫和表

  1. 打開Microsoft Office Access,創建一個空數據庫,與相片的分類目錄放在同一個文件夾下。

  2. 使用“文件→獲取外部數據→導入”功能將Excel表直接導入Access中,保存為“證書信息”表。

  創建證書信息報表

  1. 創建“證書信息”報表,先插入一個“圖像”控件,設置其圖片屬性為證書模板圖片,設置其大小為證書模板的大小,設置其可見性為否,這樣有利於證書信息的排版,且不會打印出來;再依次插入要打印的字段列表,設置好字體和字號;最後再插入一個“圖像”控件,放置於打印相片的地方,設置其大小為相片的大小,設置其名稱為“stuimg”。

  2. 依次點擊菜單欄“視圖→代碼”命令,進入VBA代碼編寫窗口,編寫如下代碼:

Private Sub 主體_Format(Cancel As Integer, FormatCount As Integer)

  Dim imgpath As String

  ' 依據應用程序路徑、認證項目名稱、姓名得到相片路徑

  imgpath = Application.CurrentProject.Path +"\" +認證項目.text +"\"+ 姓名.Text+".jpg"

  ' 判斷照片是否存在,如果不存在則顯示一張空白的圖片。

  If Dir(imgpath) = "" Then imgpath = Application.CurrentProject.Path + "\noimg.bmp"

  Stuimg.Picture = imgpath

End Sub



  創建打印預覽面板窗體

  1. 創建“打印預覽面板”,依次放置一個用於查詢的文本框,並命名為“inputname”;兩個命令按鈕“預覽”、“關閉”。


  2. 依次點擊菜單欄“視圖→代碼”命令,進入VBA代碼編寫窗口,編寫如下代碼:

Public stuname As String '定義全局變量stuname

Sub PrintReports(PrintMode As Integer)

' 創建打印預覽子程序

  Dim strWhereCategory As String

  If stuname <> Empty Then

   strWhereCategory = "姓名= '" + stuname + "'"

  End If

  DoCmd.OpenReport "證書信息", PrintMode, , strWhereCategory

  DoCmd.Close acForm, "打印預覽面板"

End Sub

Private Sub inputname_Change()

' 將文本框輸入的字符賦給全局變量sname,用於給打印預覽限定條件

  stuname = inputname.Text

End Sub

Private Sub 預覽_Click()

' 預覽報表,本過程使用自定義的 PrintReports 子程序

  PrintReports acPrevIEw

End Sub

Private Sub 關閉_Click()

' 關閉窗體

  DoCmd.Close

End Sub



  創建主切換面板窗體

  1. 創建“主切換面板”,放置三個命令按鈕“打印學生證書”、“返回數據窗口”、“退出管理系統”。

  2. 依次點擊菜單欄“視圖→代碼”命令,進入VBA代碼編寫窗口,編寫如下代碼:

Private Sub 打印學生證書_Click()

  Dim strFormName As String

  strFormName="打印預覽面板"

  ' 打開打印預覽面板

  DoCmd.OpenForm strFormName, , , , , acDialog

End Sub

Private Sub 關閉當前窗口_Click()

  Dim strDocName As String

  strDocName = "證書信息"

  ' 關閉“主切換面板”窗體。

  DoCmd.Close

  ' 設置焦點到數據庫窗口;選擇“證書信息”表。

  DoCmd.SelectObject acTable, strDocName, True

End Sub

Private Sub 退出管理系統_Click()

  ' 退出 Microsoft Access.

  DoCmd.Quit

End Sub



  設置啟動時顯示主切換面板

  依次點擊菜單欄“工具→啟動”命令,打開“啟動”設置窗口,在“顯示窗體→頁”選項下選擇主切換面板,並取消“顯示數據庫窗口”,這樣在下一次打開此Access數據庫時,就會自動顯示主切換面板窗體。讀者也可根據自己的需要決定是否取消菜單欄和快捷菜單欄,如果取消以後又要顯示它們,可以在打開Access數據庫時按住Shift鍵。

  至此,技能證書打印系統開發完畢。本系統在Windows 2000 Server SP4、Microsoft Office Access 2003下調試通過。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved