程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> 用Access2007解決支票打印的日期大寫問題

用Access2007解決支票打印的日期大寫問題

編輯:關於Access數據庫

      財務人員都知道,轉賬支票的出票日期是需要大寫的。如果用手寫,當然可以直接填寫成大寫,但如果設計專用軟件進行套打,每張支票都在固定位置填寫大寫會很麻煩,也沒有必要。這裡僅以access2007設計為例,給這方面的愛好者提供一個思路。

      一、先設計一個Access2007表,加入轉賬支票可能需要的字段,比如付款人名稱、付款人賬號、收款人名稱、付款金額、出票日期等等。其中的“出票日期”設成“日期”類型,默認值可以設成“date()”(即當天日期)。表設計好後命名保存備用。

      二、新建模塊,並輸入以下內容

      Public Function Udate(mDATE As Date, mYMD As Integer) As String

      '用法 Udate(#1/2/2005#, i)

      'i=1  貳零零伍

      'i=2 零壹

      'i=3 零貳

      'i=0 貳零零伍年零壹月零貳日

      Dim i As Integer, iD As Integer

      Dim strDT(2) As String, strS As String

      Dim strD(0 To 9) As String * 1

      strD(0) = "零"

      strD(1) = "壹"

      strD(2) = "貳"

      strD(3) = "三"

      strD(4) = "肆"

      strD(5) = "伍"

      strD(6) = "陸"

      strD(7) = "柒"

      strD(8) = "捌"

      strD(9) = "玖"

      For i = mYMD + (mYMD <> 0) To mYMD + (mYMD <> 0) - (mYMD = 0) * 2

      If i = 0 Then

      iD = Year(mDATE)

      strDT(i) = strD(iD 1000) & strD((iD 100) Mod 10) & strD((iD 10) Mod 10) & strD(iD Mod 10)

      Else

      If i = 1 Then iD = Month(mDATE) Else iD = Day(mDATE)

      If iD > 9 Then strS = "拾" Else strS = ""

      strDT(i) = strD(iD 10) & strS & strD(iD Mod 10)

      If iD > 9 And iD Mod 10 = 0 Then strDT(i) = "零" & Left$(strDT(i), 2)

      End If

      Next

      Select Case mYMD

      Case 0

      Udate = strDT(0) & "年" & strDT(1) & "月" & strDT(2) & "日"

      Case Else

      Udate = strDT(mYMD - 1)

      End Select

      End Function

      三、以第一步建的表為基礎新建一個查詢,加入必要的字段。另在一個空白字段寫表達式:“大寫: Udate([出票日期],0)”。保存這個查詢。

      四、在原表中錄入將要打印的支票信息,“出票日期”字段必須錄入正確的日期。

      五、運行查詢,就會看到有一個大寫的日期字段。有了這個結果,無論設計窗體,還是設計報表,都可以自由引用了。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved