ACCESS掩码及说明
2011-06-08 15:22
什么是输入掩码?输入掩码是用于设置字段(在表和查询中)、文本框以及组合框(在窗体中)中的数据格式,并可对允许输入的数值类型进行控制,输入掩码可以由用来分隔输入空格的原义字符(例如空格、点 、点划线、和括号)组成。InputMask属性设置则由文本字符和特殊字符组成,特殊字符将决定输入的数值类型。输入掩码主要用于文本型和日期/时间型字段,但也可以用于数字型或货币型字段。
字符说明 含义
0数字 --------------------------(必须输入数字0~9,必选项;不允许使用号(+)和减号(-))
9数字或空格-------------------(可以输入一个数字或者空格,非必选项;不允许使用加号和减号)
#数字或空格 ------------------(可以输入一个数字或者空格,也可以不输入内容;非必选项;空白将转换为空格,允许使用加号和减号)
L字母 -------------------------(必须输入一个字母A到Z,必选项)
?字母 ------------------------(可以输入一个字母A到Z,可选项)
A字母或数字------------------(必须输入一个字母或者数字,必选项)
a字母或数字------------------(可以输入一个字母或者数字,也可以不输入 ;可选项)
&任一字符或空格-----------(必须输入一个字符或者空格;必选项)
C任一字符或空格 -----------(可以输入一个字符或者空格;也可以不输入内容;可选项)
. ,:;-/ ---------------------(小数点占位符、千位、日期和时间分割符)
< ----------------------------(使其后所有的字符转换为小写)
> ----------------------------(使其后所有的字符转换为大写)
! ----------------------------(输入掩码从右到左显示,而不是从左向右的。可以在输入掩码的任意位置包含叹号。)
\\ ----------------------------(使其后的字符显示为原义字符。可用于将该表中的任何字符显示为原义字符(例如,\\A显示为A)
| 密码 ----------------------------(将“输入掩码”属性设置为“密码”,以创建密码项文本框。文本框中键入的任何字符都按字面字符保存,但显示为星号(*)) |
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 年的日期。
>=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