FAQ:用代码定义字段AllowZeroLength和Required属性
时 间:2007-12-15 08:37:29
作 者:竹笛 ID:8 城市:上海 QQ:2851379730
摘 要:用代码定义字段AllowZeroLength和Required属性
正 文:
(Q)如何用 JET SQL DDL 语句定义:
1、“必填”为“是” ——————比如用 not null关键字
2、“必填”为“否”
3、“允许空字符串”为“是”------- 比如用 NULL 关键字
4、“允许空字符串”为“否”
2和4呢?
(A)根据您的解释,我的理解是这样的在设计Table的时候,我们可以看到“必填属性”和“允许空字符串”两个属性。您希望在今后的使用过程中能够分别地对其进行修改和设置。不知道我理解的正确吗?如果我理解得不够准确,请让我知道尽可能多对问题的描述,以便我能全面理解您的问题并且能够更快解决问题。
根据我的理解,我做了一下试验,发现情况是这样的。首先,当我们采用Create或者Alter语句试图进行创建或者修改数据库表的时候无法对这两个属性就行修改。因为这两个属性并不是通过Jet SQL语句来定义的。而是表本身的一个属性,这也就是为什么无法通过SQL语句修改的原因。
虽然通过SQL语句无法对其进行修改,但是我们可以通过VB语句来进行修改。下面我将通过一段代码来显示我们如果得到某一个表中数据字段的定义情况(您可以用类似的方法来得到如何对其属性的修改)
1. 在数据库中分别建立表1,表2,表3,表4。定义“必填属性”和“允许空字符串”的4中定义。
2. 建立一个Button事件OnClick
Option Compare Database
Private Sub Command0_Click()
Dim dbs As Database
Dim tdfloop As TableDef
Set dbs = CurrentDb()
With dbs
' Show which fields are required in the Fields
' collections of three different TableDef objects.
RequiredOutput .TableDefs("表1")
RequiredOutput .TableDefs("表2")
RequiredOutput .TableDefs("表3")
RequiredOutput .TableDefs("表4")
.Close
End With
End Sub
Sub RequiredOutput(tdfTemp As TableDef)
Dim fldLoop As Field
' Enumerate Fields collection of the specified TableDef
' and show the Required property.
Debug.Print "Fields in " & tdfTemp.Name & ":"
For Each fldLoop In tdfTemp.Fields
Debug.Print , fldLoop.Name & ", Required = " & _
fldLoop.Required, "AllowZeroLength = " & fldLoop.AllowZeroLength;
Debug.Print ""
fldLoop.Required = True
fldLoop.AllowZeroLength = True
Next fldLoop
End Sub
3. 由于我们是通过DAO方式对其属性就行修改,所以在“引用”中请包含DAO
详细的定义您可以参考下面的Access中相关主题“AllowZeroLength 属性”和“Required属性”
4.我们用示例MDB中有一个表"表1","表1"中有一个字段"a"
Private Sub Command1_Click()
Dim dbs As Database
Dim tdfloop As TableDef
Dim fldName As Field
Set dbs = CurrentDb()
Set fldName = dbs.TableDefs("表1").Fields("a")
With fldName
.AllowZeroLength = False'允许空字符串为否
.Required = False'必填字段为否
End With
End Sub
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)