我曾经记录过在 Excel 中如何自定义单元格数据的显示方式,在 Access 中,基础表和查询的字段,某些窗体控件也有 Format 这个属性,可以让我们自定义数字、时间日期、文本的显示方式。大体上,Access 和 Excel 在定义格式时用的占位符差不多,不过 Access 是强数据类型的,对于数字、日期、文本等各个不同的数据类型,有不同的格式定义,比 Excel 要复杂一些。

我这里要记录的是 Access 中表和查询的字段,某些窗体控件的 Input Mask(输入掩码)属性。InputMaskFormat 属性粗看上去差不多,都能控制数据的显示方式,但 InputMask 属性一个很实用的地方是可以控制用户的输入,为开发人员在控制用户输入上提供便利。比如,通过自定义输入掩码,我们可以控制用户在文本框中或基础表字段中只能输入字母,或只能输入数字,并且还能控制输入的字母或数字的位数。这样比等用户随意输入后,再在代码里判断输入数据的有效性,或通过 Validation Rule(有效性规则)属性来判断输入要高效的多。

需要说明的是,对于同一个数据,如果我们既定义了 Format 属性,又定义了 InputMask 属性,Format 属性的优先级比 InputMask 属性高,这时 InputMask 属性会被忽视的。

下面我们就看一下如何自定义 Input Mask 属性。

InputMask 属性最多可由三个部分组成,中间用分号(;)隔开。下表是每部分的描述:

组成部分 描述
第一部分 定义输入掩码,比如 !(999) 999-9999。关于可用来定义输入掩码的占位符,请看下表。
第二部分 指定 Access 是否在基础表里把实际输入的数据和字面上显示出来的字符一起储存。如果这部分是 0,所 有字面上显示出来的字符(例如,电话号码输入掩码中的圆括号)都保存下来;如果这部分是 1 或没有填,只有 实际输入的字符被保存。
第三部分 指定在应该输入字符的地方,Access 向用户显示的提示字符。我们在这部分可以使用任何字符。要显示空格,把空格用双引号括起来(" ")。

在 Visual Basic 中,用字符串变量给该属性赋值。例如,下面的语句设置某个文本框控件的 InputMask 属性,该文本框用来输入电话号码:

Forms!Customers!Telephone.InputMask = "(###) ###-####"

下面讲一下用来定义输入掩码的占位符。占位符可用来规定输入的是字母还是数字,输入是必须的还是可选的等等。

字符 描述 输入掩码示例 示例数据
0 0-9 的数字,输入是必须的,不允许加号 [+] 和减号 [–]  (000) 000-0000  (206) 555-0248
9 数字或空格,可选输入,不允许加号 [+] 和减号 [–]  (999) 999-9999  (21) 555-3002
# 数字或空格,可选输入,在编辑状态时,空格显示为空白,保存时,空白会去掉,允许加号 [+] 和减号 [–]  #999  -20
L A-Z 的字母,输入是必须的  L0L0L0  t2F8m4
? A-Z 的字母,输入是可选的  ?????????  mary
A 字母或数字,输入是必须的  (000) AAA-AAAA  (206) 555-TELE
a 字母或数字,输入是可选的    
& 任何字符或空格,输入是必须的    
C 任何字符或空格,输入是可选的    
. , : ; - / 小数点占位符和千分位,日期,时间分隔符(实际显示的字符根据控制面板里 Regional Settings 的设置)    
< 所有的字符转换成小写  >L<???????????  Maria
> 所有的字符转换成大写  > L0L0L0  T2F8M4
! 输入掩码从右到左显示,而不是从左到右。输入的字符从左向右填充(一般情况下,输入的字符先从右边开始填起)。感叹号可以出现在输入掩码的任何地方。    
/ 反斜杠后面的字符如实显示,附加在实际输入字符上(例如,/A 显示字母 A),适用于只有一个附加字符的情况。  /T000  T123
" " 双引号里面的字符如实显示,附加在实际输入字符上(例如,"Tel" 显示字符串 Tel),适用于多个附加字符的情况。 "Tel "000 Tel 321

注意:InputMask 属性还可以设置为“Password”这个词,在设计视图控件的属性页中输入 Password,不要加引号。任何输入的字符如实储存,但显示为星号(*),这样就可以防止在屏幕上显示输入的字符。

当输入是可选的,我们实际输入的字符数可以比定义的占位符数量少。但不管输入是必须的还是可选的,实际输入的字符数都不能比定义的占位符数量多。

如果在定义了输入掩码的字段或控件中复制数据,字面上显示的字符也会被复制,尽管我们实际并没有输入这个字符。比如我们定义了 "Part No. " ##### ,只要输入数字“00001”就会显示为 Part No.   00001。复制并粘贴该字段,结果仍然是 Part No.   00001。

输入掩码只对键盘的直接输入进行有效性控制。如果我们使用导入功能,执行操作查询(比如 Update),或用 Visual Basic 语句设置控件的值,输入掩码是不会起作用的。

Access 2003 的输入掩码(Input Mask)相关推荐

  1. access身份证号掩码_关于二级access的输入掩码!

    展开全部 1."只能输入4位数字"的输入掩码填"0000". 2."只能输入4位数字或符号"的输入掩码填"AAAA". ...

  2. access 中有时候输入需要掩码

    access 中有时候输入需要掩码.同时想保存掩码中的符号比如   9999-99-99;0;   第一个分隔号后面必须要加0才会保存"-" 这个号. 一下为MSDN内容 Inpu ...

  3. access身份证号掩码_Access输入掩码说明

    字符 说明 0 数字( 0 到 9 ,必选项:不允许使用加号 [+] 和减号 [-] ) . 9 数字或空格(非必选项:不允许使用加号和减号). # 数字或空格(非必选项:空白将转换为空格,允许使用加 ...

  4. Qt实战案例(9)——利用QLineEdit设置输入掩码来限制输入内容

    目录 一.输入掩码介绍 二.代码示例 2.1 input Mask介绍 2.2 input Mask示例 2.3 输入与输出 三.拓展--输入约束 一.输入掩码介绍 QLineEdit提供了输入掩码( ...

  5. mysql字段掩码_在必须输入字母A~Z或数字0~9数据库中设计表时,如果将字段的输入掩码设置为“LLLL”,则该字段能够接受的输入是()_学小易找答案...

    [单选题]关于Access2010的索引,下列叙述中错误的是() [单选题]痰饮淤血() [单选题]关于Access查询中的数据源,下列说法中正确的是 [单选题]对Access2010表中某一个字段建 ...

  6. angularjs组件之input mask

    今天将奉献一个在在几个angularjs项目中抽离的angular组件 input mask.在我们开发中经常会对用户的输入进行控制,比如日期,货币格式,或者纯数字格式之类的限制,这就是input m ...

  7. mysql字段掩码_access字段输入掩码之字符篇

    Access字段中的输入掩码,可以让我们在字段数据类型所允许的范围之内,限制输入的数据种类.下面以字符掩码为例子,为大家介绍不同的字符所代码的含义. 一.比较符的用法 > 其后的所有字符都以大写 ...

  8. 中文Access 2003案例经典(奋斗的小鸟)_PDF 电子书

    中文名: 中文Access 2003案例经典 版本: PDF 发行日期: 2005年 地区: 大陆 简介: 出版社:冶金工业出版社 作者:廖望/叶杰宏/余芳/ 浏览次数:2728次 出版日期:2005 ...

  9. Access 2003之控件使用

    "控件"也被称为"组件"或"构件",是Access 2003之类现代软件的重要组成部分.小到软件的按钮.组合框和列表框等等,大到程序的网络通 ...

最新文章

  1. JSTL解析——001
  2. After paper reading.......
  3. FE助手 json格式化 reslet client
  4. 谁在偷你的记忆? 应用服务器版
  5. 百度经验 回享计划
  6. 关于OAuth2的几个问题
  7. 比Redis快5倍的中间件,究竟为什么这么快?
  8. 【转】boost 库后缀名
  9. requireJS(一)
  10. 阿里云推出香港高防IP服务 为中国企业出海安全护航
  11. C++辨析系列谈 [作者: 郑力群]
  12. cryptojs des php,前端CryptoJS AES/DES加解密与后端PHP AES/DES加解密
  13. qt银行排队系统服务器代码,QT银行叫号排队系统
  14. ArcGIS按属性选择多个地类
  15. source ~/.bash_profile是什么意思
  16. 【Python】Talk Python To Me Podcast播客
  17. 穹顶之下——大数据下生活
  18. 技嘉Gigabyte主板Z370HD3安装1080ti+ubuntu17.10+Cuda9.1+cudnn7+tensorflow
  19. Blender软件使用Maps Models Importer插件导入Google地图3d模型(非常简单)
  20. 基金使用计划 数学建模 matlab,基金使用计划(数学建模).ppt

热门文章

  1. Win7下SQLite的简单使用
  2. Python_OpenCV_实现模糊集合用于图像增强(对比度提升,空间滤波)
  3. 01前端入门HTML5 +Css3+电商网页制作:HTML5
  4. (转)MAPISendMail调用系统默认的邮件客户端发邮件
  5. 高效管理时间的黄金法则
  6. catia v5r25 百度网盘_CATIA v5R21软件下载(sp0,p2及p3版)百度网盘
  7. W32TM注册time.windows.com作为权威时间同步源
  8. 实战篇ConstraintLayout的崛起之路
  9. 用Excel计算个人工资所得税的四套方案(转)
  10. 笔记本电脑的电池越来越不耐用?那是你不会这样保养!