您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> ACCESS >> 辅导 >> 正文    
  FAQ:用代码定义字段AllowZeroLength和Required属性 【注册男护士专用博客】          

FAQ:用代码定义字段AllowZeroLength和Required属性

www.nanhushi.com     佚名   不详 

(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

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。