77范文网 - 专业文章范例文档资料分享平台

Access - VBA编程(使用技巧大全)[1](3)

来源:网络收集 时间:2020-06-07 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

ACCESS-VBA编程

以有前导零的数字来显示月 (01 – 12)。如果m是直接跟在h或hh之后,那么显示的将是分而不是月。 mmm

以简写来表示月 (Jan –Dec)。 mmmm

以全称来表示月 (January –December)。 oooo

与mmmm一样,它只是该字符串的本地化版本。 Q

将一年中的季以数值表示 (1 – 4)。 Y

将一年中的日以数值表示 (1 – 366)。 Yy

以两位数来表示年 (00 – 99)。 yyyy

以四位数来表示年 (00 – 99)。 H

以没有前导零的数字来显示小时 (0 – 23)。 Hh

以有前导零的数字来显示小时 (00– 23)。 N

以没有前导零的数字来显示分 (0 – 59)。 Nn

以有前导零的数字来显示分 (00 – 59)。 S

以没有前导零的数字来显示秒 (0 – 59)。 Ss

以有前导零的数字来显示秒 (00 – 59)。 t t t t t

以完整时间表示法显示(包括时、分、秒),用系统识别的时间格式定义的时间分隔符进行格式化。如果选择有前导零并且时间是在 10:00 A.M. 或 P.M.之前,那么将显示有前导零的时间。缺省的时间格式为 h:mm:ss。 AM/PM

在中午前以 12 小时配合大写 AM 符号来使用;在中午和 11:59 P.M.间以 12 小时配合大写 PM 来使用。 Am/pm

在中午前以 12 小时配合小写 am 符号来使用;在中午和 11:59 P.M.间以 12 小时配合小写 pm 来使用。 A/P

在中午前以 12 小时配合大写A符号来使用;在中午和 11:59 P.M.间以12 小时配合大写P来使用。 a/p

在中午前以 12 小时配合小写a符号来使用;在中午和 11:59 P.M.间以 12 小时配合小写p来使用。 AMPM

在中午前以 12 小时配合系统设置的 AM字符串文字来使用;在中午和 11:59 P.M. 间以 12 小时配合系统设置的 PM 字符串文字来使用。AMPM 可以是大写或小写,但必须和您的系统设置相配。其缺省格式为 AM/PM。 日期函数示例

当天日期:=Date() 当日:=Day(date) 当月:=Month(date()) 当年:=Year(date())

当季:=DatePart(\把日期大写

Function Date2Chinese(iDate) Dim num(10) Dim iYear

11

ACCESS-VBA编程

Dim iMonth Dim iDay

num(0) = \〇\ num(1) = \一\ num(2) = \二\ num(3) = \三\ num(4) = \四\ num(5) = \五\ num(6) = \六\ num(7) = \七\ num(8) = \八\ num(9) = \九\

iYear = Year(iDate) iMonth = Month(iDate) iDay = Day(iDate)

Date2Chinese = num(iYear \\ 1000) + _

num((iYear \\ 100) Mod 10) + num((iYear _ \\ 10) Mod 10) + num(iYear Mod _ 10) + \年\ If iMonth >= 10 Then

If iMonth = 10 Then

Date2Chinese = Date2Chinese + _ \十\月\ Else

Date2Chinese = Date2Chinese + _ \十\月\ End If Else

Date2Chinese = Date2Chinese + _ num(iMonth Mod 10) + \月\ End If

If iDay >= 10 Then

If iDay = 10 Then

Date2Chinese = Date2Chinese + _ \十\日\

ElseIf iDay = 20 Or iDay = 30 Then Date2Chinese = Date2Chinese + _ num(iDay \\ 10) + \十\日\ ElseIf iDay > 20 Then

Date2Chinese = Date2Chinese + _ num(iDay \\ 10) + \十\ num(iDay Mod 10) + \日\ Else

Date2Chinese = Date2Chinese + _ \十\日\ End If Else

Date2Chinese = Date2Chinese + _ num(iDay Mod 10) + \日\

12

ACCESS-VBA编程

End If End Function

算出每个月的天数 一法:

Dim a, b, c a = Year(Now()) b = Month(Now())

c = Format((a & \二法:

DateDiff(\DateDiff可以算出两个日期之间相差几天! 三法:

Day(DateAdd(\

day函数可以知道某个日期是这个月的第几天,我们把这个月的最后一天拿出来DAY一下! 应该还有更好的方法!

比如说可以定义一个数组,把每个月的日子放进去,或者说写一个函数算每一个月的天数 只要考虑一下闺年的问题就可以了!

如何得到某年每个月的第一天是星期几 Private Sub Command1_Click()

Dim i As Integer, A As Integer, B As Integer, C As String A = InputBox(\请输入年份\某年每个月的第一天是星期几\Form1.Cls

For i = 1 To 12

C = A & \B = Weekday(C) Select Case B Case vbSunday

Print A & \年\月1日是 星期日\Case vbMonday

Print A & \年\月1日是 星期一\Case vbTuesday

Print A & \年\月1日是 星期二\Case vbWednesday

Print A & \年\月1日是 星期三\Case vbThursday

Print A & \年\月1日是 星期四\Case vbFriday

Print A & \年\月1日是 星期五\Case vbSaturday

Print A & \年\月1日是 星期六\End Select Next i End Sub

计算天数及月初月末日期

Function 本月天数(日期 As Date) As Byte

本月天数 = DateSerial(Year(日期), Month(日期) + 1, Day(日期)) - 日期 End Function

13

ACCESS-VBA编程

Function 月末(日期 As Date) As Date

月末 = DateSerial(Year(日期), Month(日期) + 1, 1) - 1 End Function

Function 月初(日期 As Date) As Date 月初 = 日期 - Day(日期) + 1 End Function

本月最后一日是周几 SELECT

Weekday(DateAdd(\本月最后一日是周几, 下月最后一日是周几 SELECT

Weekday(DateAdd(\下月最后一日是周几, 本月最后一个周5到月底的天数 SELECT

(Weekday(DateAdd(\本月最后一个周5到月底的天数;

下月最后一个周5到月底的天数 SELECT

(Weekday(DateAdd(\下月最后一个周5到月底的天数;

本月最后一个周5的日期 SELECT

DateAdd(\(Date()),Month(Date()),1)-1))+1) Mod 7 AS 本月最后一个周5的日期; 下月最后一个周5的日期 SELECT

DateAdd(\(Date()),Month(Date()),1)-1))+1) Mod 7 AS 下月最后一个周5的日期;

数据输入、查询、计算、连接: 通过英特网的ACCESS联接 在ACCESS中使用ADO: Private Sub ABC_Click()

Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset cn.OPEN \

rs.OPEN \’ rs.ABC App.Path & \rs.Close cn.Close

MsgBox (\End Sub

Private Sub OPEN_Click() Dim strConnect As String

strConnect = \Dim rs As New ADODB.Recordset

rs.OPEN \远程服务器的IP/test/testdata.dat\Do While Not rs.EOF

14

ACCESS-VBA编程

Debug.Print rs(\rs.MoveNext Loop End Sub

数据库网络使用时,速度很慢!

即使采取始终隐藏运行一个联接后端表的窗体的办法!也必须运行一次一个无条件的查询(窗体状态)后,速度才比较令人满意!!有没有更好的办法!! 在ADSL连接的互连网,而不是局域网!

一,建立一个隐藏运行的连接后端的窗体.

二,在打开启动窗体时自动运行一个用窗体显示的查询,注意,要显示到最后一条记录,不然,速度只能提高一部分,然后自动关闭该窗体(以上过程都要隐藏,所以实际上看不见,另因为要运行一定的时间,最好设置一个正在连接和连接完毕的的提示框),这样一来,读取速度几乎跟在单机上使用没有区别! 将用户输入的身份证号15位数据转化为18位。

Function IDCode15to18(sCode15 As String) As String

'* 功能:将15的身份证号升为18位(根据GB 11643-1999) '* 参数:原来的号码

'* 返回:升位后的18位号码 Dim i As Integer Dim num As Integer Dim code As String num = 0

IDCode15to18 = Left(sCode15, 6) + \ ' 计算校验位

For i = 18 To 2 Step -1

num = num + (2 ^ (i - 1) Mod 11) * (Mid(IDCode15to18, 19 - i, 1)) Next i

num = num Mod 11 Select Case num Case 0

code = \ Case 1

code = \ Case 2

code = \ Case Else

code = Trim(Str(12 - num)) End Select

IDCode15to18 = IDCode15to18 + code End Function

据身份证号自动输入出生日期 Dim Length As Integer

Length = Len(Me.[身份证号])

If Not IsNull(Length) Then

If Length = 15 Then

Me.[性别] = IIf(Val(Mid(Me.身份证号, 15, 1)) / 2 = Int(Val(Mid(Me.身份证号, 15, 1)) / 2), \女\男\

15

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Access - VBA编程(使用技巧大全)[1](3)在线全文阅读。

Access - VBA编程(使用技巧大全)[1](3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1098440.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: