视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Access小技巧
2025-09-29 00:07:42 责编:小OO
文档
Access小技巧

ACCESS掩码及说明

2011-06-08 15:22

什么是输入掩码?输入掩码是用于设置字段(在表和查询中)、文本框以及组合框(在窗体中)中的数据格式,并可对允许输入的数值类型进行控制,输入掩码可以由用来分隔输入空格的原义字符(例如空格、点 、点划线、和括号)组成。InputMask属性设置则由文本字符和特殊字符组成,特殊字符将决定输入的数值类型。输入掩码主要用于文本型和日期/时间型字段,但也可以用于数字型或货币型字段。

字符说明                           含义

0数字 --------------------------(必须输入数字0~9,必选项;不允许使用号(+)和减号(-))

9数字或空格-------------------(可以输入一个数字或者空格,非必选项;不允许使用加号和减号)

#数字或空格 ------------------(可以输入一个数字或者空格,也可以不输入内容;非必选项;空白将转换为空格,允许使用加号和减号)

L字母   -------------------------(必须输入一个字母A到Z,必选项)

?字母  ------------------------(可以输入一个字母A到Z,可选项)

A字母或数字------------------(必须输入一个字母或者数字,必选项)

a字母或数字------------------(可以输入一个字母或者数字,也可以不输入 ;可选项)

&任一字符或空格-----------(必须输入一个字符或者空格;必选项)

C任一字符或空格 -----------(可以输入一个字符或者空格;也可以不输入内容;可选项)

.  ,:;-/  ---------------------(小数点占位符、千位、日期和时间分割符)

<      ----------------------------(使其后所有的字符转换为小写)

>       ----------------------------(使其后所有的字符转换为大写)

!      ----------------------------(输入掩码从右到左显示,而不是从左向右的。可以在输入掩码的任意位置包含叹号。)

\\        ----------------------------(使其后的字符显示为原义字符。可用于将该表中的任何字符显示为原义字符(例如,\\A显示为A)

密码  ----------------------------(将“输入掩码”属性设置为“密码”,以创建密码项文本框。文本框中键入的任何字符都按字面字符保存,但显示为星号(*))

Access有效性规则 

2011-06-08 15:28

有效性规则:                                                有效性文本   

 "男" or. “女”     ************************************只能输入男或者女

M Or F                 ***********************************输入 M(代表男性)或 F(代表女性)。 

>=#1980-1-10#    **********************************只能输入大于1980-1-10以后的日期

>=700 And <=5000    ******************************只能输入700~5000之间的数据

between700 and 5000   ***************************只能输入700~5000之间的数据

<>0 *****************************************************输入非零值。 

>=0  ****************************************************值不得小于零。 

0 or >100   ********************************************值必须为 0 或者大于 100。 

BETWEEN 0 AND 1    *******************************输入带百分号的值。(用于将数值存储为百分数的字段。) 

<#01/01/2007#   *************************************输入 2007 年之前的日期。 

>=#01/01/2007# AND <#01/01/2008#    ********必须输入 2007 年的日期。 

StrComp(UCase([姓氏]),[姓氏],0) = 0   *********“姓氏”字段中的数据必须大写。 

>=Int(Now()) ******************************************输入当天的日期。 

LIKE "[A-Z]*@[A-Z].com" OR "[A-Z]*@[A-Z].net" OR "[A-Z]*@[A-Z].org" 

**********************************************************输入有效的 .com、.net 或 .org 电子邮件地址。 

[要求日期]<=[订购日期]+30 ************************输入在订单日期之后的 30 天内的要求日期。 

[结束日期]>=[开始日期] *****************************输入不早于开始日期的结束日期。

 

--------------------------------------------------------------------------------

创建表达式时规则:

将表字段的名称用方括号括起来,例如:[要求日期]<=[订购日期]+30。 

将日期用井号 (#) 括起来,例如:<#01/01/2007# 

将文本值用双引号括起来,例如:IN ("东京巴黎莫斯科")。另外,请注意用逗号分隔项目,并将列表放在圆括号内。 

除了上述规则之外,下表显示了常见的算术运算符并提供了使用方法示例。

NOT 测试相反值。在除 IS NOT NULL 之外的任何比较运算符之前使用。 NOT > 10(与 <=10 相同)。 

IN 测试值是否等于列表中的现有成员。比较值必须是括在圆括号中的逗号分隔列表。 IN ("东京巴黎莫斯科") 

BETWEEN 测试值范围。必须使用两个比较值(低和高),并且必须使用 AND 分隔符来分隔这两个值。   BETWEEN 100 AND 1000(与 >=100 AND <=1000相同)

Access日期和时间函数

1.Cdate(日期表达式)

将日期表达式转换成日期类型的数据。

日期表达式是任何可以解释成日期的表达式,包含日期文字,可以看作日期的字符串以及从函数返回的日期。

比如:myDate = CDate("99-5-20") ,这样的日期表达式必须加双引号,否则结果不可预料。

CDate 依据系统上的区域设置来决定日期的格式。如果提供的格式为不可识别的日期设置,则不能正确判断年、月、日的顺序。

2.Now()

返回当前计算机系统设置的日期和时间。

3.Year(日期表达式)

返回表示年份的整数。

比如:Year("00-6-15") = 2000

4.Month(日期表达式)

返回 1 到 12 之间的整数,表示一年中的某月。

比如:Month("00-6-15") = 6

5.DateAdd(interval, number, date)

DateAdd 函数语法中有下列命名参数:

部分 描述

interval 必要。字符串表达式,是所要加上去的时间间隔。

number 必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。

date 必要。Variant (Date) 或表示日期的文字,这一日期还加上了时间间隔。

设置 interval 参数具有以下设定值:

设置 描述

yyyy 年

q 季

m 月

y 一年的日数

d 日

w 一周的日数

ww 周

h 时

n 分钟

s 秒

说明

可以使用 DateAdd 函数对日期加上或减去指定的时间间隔。

例如,可以用 DateAdd 来计算距今天为三十天的日期;或者计算距现在为 45 分钟的时间。

为了对 date 加上“日”,可以使用“一年的日数” (“y”),“日” (”d”) 或“一周的日数” (”w”)。

DateAdd 函数将不返回有效日期。在以下实例中将 1 月31 日加上一个月:

DateAdd(m, 1, 31-Jan-95)

上例中,DateAdd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。

如果 date 是 1996 年 1 月 31 日,则由于 1996 年是闰年,返回值是 1996 年 2 月 29 日。

如果计算的日期超前 100 年(减去的年度超过 date 中的年份),就会导致错误发生。

如果 number 不是一个 Long 值,则在计算时取最接近的整数值来计算。

注意 DateAdd 返回值的格式由 Control Panel设置决定,而不是由传递到date 参数的格式决定。

事例:

DateAdd("d",10,"2000-6-18")

结果是: 2000-06-28

DateAdd("m",-1,"2000-6-18")

结果是: 2000-05-18

6、DateDiff 函数

返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。

语法 DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

DateDiff 函数语法中有下列命名参数:

部分 描述

interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔

Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。

Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。

firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。

interval 参数的设定值同DateAdd函数,请参考上面的例子。

例:DateDiff("d",#2004-01-06#,#2004-01-07#) 1

7、DatePart 函数

返回一个包含已知日期的指定时间部分的 Variant (Integer)。

语法 DatePart(interval, date[,firstdayofweek[, firstweekofyear]])

DatePart 函数语法中有下列命名参数:

部分 描述

interval 必要。字符串表达式,是要返回的时间间隔。

date 必要。要计算的 Variant (Date) 值。

Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。

firstweekofyear 可选。指定一年第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。

设置

interval 参数的设定值同DateAdd()

DatePart 函数示例本示例先取得一个日期,然后使用 DatePart 函数显示该日期是发生在该年的哪一季。

Dim TheDate As Date ' 声明变量。

Dim Msg

T

12、Time 函数

返回一个指明当前系统时间的 Variant (Date)。

语法

Time

示例

使用 Time 函数返回系统当前的时间。

Dim MyTimeMyTime = Time    ' 返回系统当前的时间

说明

为了设置系统时间,请使用 Time 语句。

设置系统时间。

语法

Time = time

必要的 time 参数,可以是任何能够表示时刻的数值表达式、字符串表达式或它们的组合。

说明

如果 time 是一字符串,则 Time 会试着根据系统指定的时间,利用时间分隔符将其转换成一个时间。如果无法转换成一个有效的时间,则会导致错误发生。

13、FormatDateTime函数

描述

返回一个日期或时间格式的表达式。

语法

FormatDateTime(Date[,NamedFormat])

FormatDateTime函数语法有如下几部分:

部分 描述

Date 必需的。要被格式化的日期表达式

NamedFormat可选的。数字值,表示日期/时间所使用的格式。如果忽略该值,则使用vbGeneralDate。

设置值

NamedFormat参数的设置值如下:

常数 值 描述

vbGeneralDate 0 显示日期和/或时间。如果有日期部分,则用短日期格式显示。如果有时间部分,则用长时间格式显示。如果都有,两部分都显示。

VbLongDate 1 用计算机区域设置值中指定的长日期格式显示日期。

VbShortDate 2 用计算机区域设置值中指定的短日期格式显示日期。

18、用户自定义日期/时间格式 (Format 函数)

下面标识一些可用来创建用户自定义日期/时间格式的字符:

字符     说明

(:)    时间分隔符。在一些区域,可能用其他符号来当时间分隔符。格式化时间值时,时间分隔符可以分隔时、分、秒。时间分隔符的真正字符在格式输出时取决于系统的设置。

(/)    日期分隔符。在一些区域,可能用其他符号来当日期分隔符。格式化日期数值时,日期分隔符可以分隔年、月、日。日期分隔符的真正字符在格式输出时取决于系统设置。

c    以 ddddd 来显示日期并且以 ttttt 来显示时间。如果想显示的数值无小数部分,则只显示日期部分,如果想显示的数值无整数部分,则只显示时间部分。

d    以没有前导零的数字来显示日 (1–31)。

dd   以有前导零的数字来显示日 (01–31)。

ddd 以简写来表示日 (Sun–Sat)

dddd 以全称来表示日 (Sunday–Saturday)

ddddd 以完整日期表示法显示(包括年、月、日),日期的显示要依系统的短日期格式设置而定。

dddddd 以完整日期表示法显示日期系列数(包括年、月、日),日期的显示要依系统识别的长日期格式而定。缺省的长日期格式为 mmmm

dd, yyyy。

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

w 将一周中的日期以数值表示(1 表星期日~ 7表星期六)。

ww 将一年中的星期以数值表示 (1–54)。

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

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

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

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

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

q 将一年

如何将文本型:2003.08.04 转换为日期型:2003-08-04

cdate(replace("2003.08.04

显示当前日期在该年中所处的星期号

=Format(Now(), "ww")

ww 为 1 到 53。

显示日期字段值的四位年份值。

=DatePart("yyyy", [订购日期])

显示日期字段值前 10 天的日期值。

=DateAdd("y", -10, [应付日期])

显示日期字段值前一个月的日期值。

=DateAdd("m",-1,Date())

显示日期1和日期2之间相差的天数。

=DateDiff("d", [订购日期], [发货日期])

从今天算起到三个月后的日期之间的记录。

Betweeb date() and adddate(3,date())

根据出生日期计算年龄(周岁)

=IIf(Month(Date())-Month([出生年月日])>-1,Year(Date())-Year([出生年月日]),Year(Date())-Year([出生年月日])-1)

日期函数示例

当天日期:=Date()

当日:=Day(date)

当月:=Month(date())

当年:=Year(date())

当季:=DatePart("q",Date())

算出每个月的天数

一法:

Dim a, b, c

a = Year(Now())

b = Month(Now())

c = Format((a & "/" & b + 1 & "/1"), "######") - Format((a & "/" & b & "/1"), "######")

二法:

DateDiff("d", Format(Date, "yyyy-mm-01"), Format(DateAdd("m", -1, Date), "yyyy-mm-01"))

DateDiff可以算出两个日期之间相差几天!

三法:

Day(DateAdd("d", -1, Format(Date, "yyyy-mm-01")))

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 & "-" & i & "-1"

B = Weekday(C)

Select Case B

Case vbSunday

Print A & "年" & i & "月1日是 星期日"

Case vbMonday

Print A & "年" & i & "月1日是 星期一"

Case vbTuesday

Print A & "年" & i & "月1日是 星期二"

Case vbWednesday

Print A &a

 

ACCESS 日期函数 部分其它函数

2007-01-19 14:12

   

1. 将文本型 2003.08.04 转换为日期型 2003-08-04

( date(replace ("2003.08.04

2. 根据出生日期算年龄

= iif (month(date())-month([出生日期])>-1,year(date())-year([出生日期]),year(date())-year([出生日期])-1)

3. 取出货期前 10 天的日期值    dateadd( "y", -10 ,[出货期])

取出货期前一个月的日期值     dateadd( "m", -1 , date())

4. 显示四位年份   = datepart("yyyy",[日期])

5. 显示两日期之前相差的天数 = datediff ( "d", [订货日], [ 发货日)

6. 取第一个字符 =left([产品名称],1)

7. 取最后两个字符 = right ([资产代码],2)

8. 去掉首尾空格    =trim([地址])

9. 计算每个月的天数

day(dateadd("d",-1,format(date,"yyyy-mm-01")))

Access-通配符的意义

2011-06-08 15:39

    字符

说明示例
     *与任何个数的字符匹配。在字符串中,它可以当作第一个或最后一个字符使用Wh*可以找到what、white和why

     ?与任何单个字母的字符匹配B?ll可以找到ball、bell和bill

     []与方括号内任何单个字符匹配B[ae]ll可以找到ball和bell,但找不到bill

     !

匹配任何不在方括号之内的字符B[!ae]ll可以找到bill和bull,但找不到ball或bell

     -与某个范围内的任一个字符匹配。必须按升序制定范围(A到Z,而不是Z到A)

B[a-c]d可以找到bab、bbd和beb

    #与任何单个数字字符匹配1#3可以找到103、113、123

下载本文
显示全文
专题