ACCESS 數字日期轉換為漢字日期
在介绍当前日期转换成中文显示时,首先必须获取当前日期,然后将当前日期中的年、月、日等信息分别转换成中文,并将其显示在窗体中。
本实例主要介绍了函数的定义、调用、返回数据等方法,以及在函数中如何定义变量的类型。我们将在已创建好的“借书信息”窗体中添加一个文本框控件,通过在文本框的获取焦点事件中,输入代码来调用模块中的函数,使其返回显示数据。
在下面的实例中,我们利用Date()(获取当前日期函数)将数据传送到模块定义的函数Date_DZ()数据中。在Date_DZ()函数中,又调用number_DZ()函数并获取汉字数据,将其数据返回到Date_DZ()函数中。在Date_DZ()函数中,将获取到的汉字数据组合好后,将其数据返回到Label17.Text = date_DZ (Date)过程中,并显示到窗体。
下面以“图书管理系统”数据库为例,介绍实现其功能的具体操作步骤:
(1)打开“图书管理系统”数据库。
(2)选择【对象】列表中的【窗体】选项。
(3)例如选择【借书信息】窗体图标,单击【设计】按钮。

(8)在【VBA设计器】窗口中,双击【模块】文件夹中的【模块1】选项。并输入date_DZ()函数代码。其date_DZ()函数代码如下:
Function date_DZ(ByVal myDate As Date) As String
‘定义Date_DZ()函数返回数据类型为字符型,并定义myDate变量接收为日期型数据。
Dim eDate As String
Dim intY, intM, intD As Integer
Dim intD2 As Integer
Dim i As Integer
‘定义eDate为字符型,intY、intM、intD、intD2和i为整型变量。
int Y = Year (myDate)
intM = Month(myDate)
intD = Day(myDate)
‘分别获取intY、intM、intD为年、月、日信息。
For i = 1 To Len(intY)
‘Len(intY)获取字符串长度(例如“2004”年,长度为4),并执行For…Next循环语句。
eDate = eDate & number_DZ(Mid(intY, i, 1))
‘number_DZ(Mid(intY, i, 1))获取年信息。例如:“2004”年,第一次循环获取2;第二次循环获取0;第三次循环获取0;第四次循环获取4。并分别调用number_DZ()函数,获取中文汉字。其eDate变量将获取的汉字组合到一起,例如eDate=“”(eDate为空)&“二”&“零”& “零”&“肆”,其结果为eDate=“二零零肆”
Next
eDate = eDate & "年"
‘将eDate=“二零零肆”&“年”
eDate = eDate & number_DZ(intM)
‘调用number_DZ(intM),并获取月的汉字信息。例如月份为10,将获取“十”。其结果为eDate=“二零零肆年”&“十”
eDate = eDate & "月"
‘结果为eDate=“二零零肆年十”&“月”
Select Case intD
‘求出intD的值。例如日期为15。
Case 1 To 9, 10, 20, 30
‘判断intD是否为1至9、10、20、30中的数字。
eDate = eDate & number_DZ(intD)
‘如果intD在条件数列中,执行其语句。直接调用number_DZ()函数,并将其组合到一起。
Case 11 To 19
‘判断intD是否在11至19之间。
eDate = eDate & number_DZ(10) & number_DZ(Mid(intD, 2, 1))
‘如果intD在11至19之间,将获取“十”汉字,并获取后面一位汉字。例如,日期为15,先获取10后,将提出后一位5并获取5的汉字。其结果为eDate=“二零零肆年十月”&“十”&“五”。
Case 21 To 29
eDate = eDate & number_DZ(20) & number_DZ(Mid(intD, 2, 1))
Case 31
eDate = eDate & number_DZ(30) & number_DZ(1)
End Select
eDate = eDate & "日"
‘结果为eDate=“二零零肆年十月十五”&“日”。
date_DZ = eDate
‘将eDate数值赋给date_DZ,返回其值。
End Function
Function number_DZ(ByVal i As Integer) As String
‘定义number_DZ()函数,接收整型变量i值,并返回字符型数据。
Select Case i
Case 0
number_DZ = "零"
Case 1
number_DZ = "一"
Case 2
number_DZ = "二"
Case 3
number_DZ = "三"
Case 4
number_DZ = "四"
Case 5
number_DZ = "五"
Case 6
number_DZ = "六"
Case 7
number_DZ = "七"
Case 8
number_DZ = "八"
Case 9
number_DZ = "九"
Case 10
number_DZ = "十"
Case 11
number_DZ = "十一"
Case 12
number_DZ = "十二"
Case 20
number_DZ = "二十"
Case 30
number_DZ = "三十"
End Select
End Function

(9)用户编写完代码后,在【VBA设计器】窗口的工具栏中,单击【保存】按钮,关闭【VBA设计器】窗口。

(10)在返回的Access窗口。用户可以看到在【文本框:Label17】对话框的【获得焦点】文本框中多出一个“〔事件过程〕”,关闭【文本框:Label17】对话框。

(11)在【借书信息:窗体】设计窗口中,右击标题栏,选择【窗体视图】命令。

(12)在【借书信息】窗体视图对话框中,用户可以看到已经显示出中文的日期。

10/25/2008 2:30:02 AM 回复该留言
你好!关注!加油!