用Access輕鬆列印帶相片的證件

來源:互聯網
上載者:User
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下調試通過,感興趣的讀者可到作者的網站下載(http://www.cqie.net/opus/)。



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。