access数据库表如何限制数字类型的字段大小

只能设置成单位,例如我的字段是入学年份,我想设置只能输入4位数,该怎样设置啊??为什么他不允许我自己设定数值的

1、首先,打开数据库。一般情况下,设置字段的大小可以限制填写时字段不会大于设置的字段数。

2、选择字段,点击上面表格工具下的【字段】。

3、将字段大小后面的255改为【4】。如图所示。

4、这时,弹出提示对话框,点击【是】。

5、这样当输入的字数大于4时,后面的将不会显示。

6、也可以切换成设计视图界面,选择姓名这一字段。点击下面的【常规】,将字段大小改为【4】。

7、点击上面的保存图标,这时弹出提示对话框,同样点击【是】就完成了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-20

Accesss数字类型是一个大类型。它的下面还要分为许多种小类型,而每个具体的数字类型都有其相应的取值范围,利用这个取值范围可对数字类型字段的大小做初步的限制。

如果需要在具体数字类型的基础上进一步限制字段的大小,则可以利用字段的“有效性规则”来限制其大小。


下面例子将销售记录表“佣金”金额字段的最大值设定为小于5000

1)手动方式

于表设计视图选择“佣金”字段,在下面有效性规则栏填入“<=5000” 保存即可,见图


2)代码方式(运行SQL数据定义查询)

alter table 销售记录 add constraint chk_yj check (佣金<=5000)

注意:上述语句在ACCESS数据库的默认语法下(ANSI 89)不支持设置约束,只在SQL SERVER兼容语法(ANSI 92)方可运行。

下面通过ACCESS窗体命令按钮VBA代码方式执行SQL定义查询(此方式下代码兼容ANSI 92语法,而无需更改ACCESS SQL语法设置)

Private Sub Command0_Click()
Dim strSql As String
'添加约束
'***********************
strSql = "alter table 销售记录 add constraint chk_yj check(佣金<=7000)"  '定义约束
CurrentProject.Connection.Execute strSql '执行语句添加约束
'***********************

'修改约束。注意无法直接修改约束,必须先删除约束再添加新约束
'***********************
strSql = "alter table 销售记录 drop constraint chk_yj" '编写删除原有约束语句
CurrentProject.Connection.Execute strSql '删除原有约束
strSql = "alter table 销售记录 add constraint chk_yj check(佣金<=5000)" '定义新约束
CurrentProject.Connection.Execute strSql '执行语句
'***********************
'注意这种方式设置的有效性规则,在表设计视图下的字段有效性规则栏无显示但是它设置的规则实际存在且有效!
End Sub


下面是ACCESS常用数字类型的说明和取值范围列表明供参考


数字类型                 范围

Byte(字节)            介于 0 到 255 之间的整型数。

Integer(整型)          介于 –32,768 到 32,767 的短整型数。

Long(长整型)         介于 –2,147,483,648 到 2,147,483,647 的长整型数。

Currency(货币)      介于-922,337,203,685,477.5808 到 922,337,203,685,477.5807。

Single(单精度型)    单精度浮点数。范围在负数的时候是

                              从 -3.402823E38 到 -1.401298E-45,

                              而在正数的时候是从 1.401298E-45 到 3.402823E38。

Double(双精度型)  双精度浮点数。范围在负数的时候是

                              从 -1.79769313486231E308 到 -4.94065645841247E-324,

                              而正数的时候是

                             从 4.94065645841247E-324 到 1.79769313486232E308

Decimal(小数)       精确的数字数据类型。

                             变量存储为 96 位(12 个字节)带符号的整型形式,

                             并除以一个 10 的幂数。这个变比因子决定了小数点右面的数字位数,

                             其范围从 0 到 28。变比因子为 0(没有小数位)的情形下,

                             最大的可能值为 +/-79,228,162,514,264,337,593,543,950,335。

                             而在有 28 个小数位的情况下,

                             最大值为 +/-7.9228162514264337593543950335,

                             而最小的非零值为 +/-0.0000000000000000000000000001。

                             你可以定义精度 (1 - 28) 和

                             数值范围( 小数点后可存储的最大位数)。

                             缺省精度和数值范围分别是18和0。

第2个回答  2013-09-12
那就不要设置成数字类型,数字类型长度是固定的。
可以用字符类型,4位长度。本回答被提问者采纳
第3个回答  2013-09-13
数据类型设置为数字型,然后输入条件Between xxx and xxx。如果你选择时间的就是Between # xxx # and # xxx #
第4个回答  2013-09-13
设为文本类型就可以了。掩码输入0000就可以了
相似回答