Office中国论坛/Access中国论坛

标题: 请教:在SQL语句中用Create Table创建表时,如何设置字段的允许空字符串属性为False? [打印本页]

作者: 红尘如烟    时间: 2010-1-4 20:11
标题: 请教:在SQL语句中用Create Table创建表时,如何设置字段的允许空字符串属性为False?
如题,我需要在一个窗体打开时判断某个表是否存在,如果不存在,则创建它
我用的是SQL来创建表的,但不知道该如何设置字段的“允许空字符串”属性为否。
作者: zxklzxm1983    时间: 2010-1-4 20:18
同样关注,帮顶
作者: FookYou    时间: 2010-1-5 14:08
如题,我需要在一个窗体打开时判断某个表是否存在,如果不存在,则创建它
我用的是SQL来创建表的,但不知道该如何设置字段的“允许空字符串”属性为否。
红尘如烟 发表于 2010-1-4 20:11

默认值就是否吧。
Sub aa()
  Dim db As DAO.Database
  Dim fld As Field
  Dim strsql$
    strsql = "Create   table   Test(aa text(20))"
    CurrentDb.Execute (strsql)
    Set db = CurrentDb
    Set fld = db.TableDefs("Test").Fields("aa")
    fld.AllowZeroLength = True
    db.Close
End Sub
作者: 红尘如烟    时间: 2010-1-5 14:11
默认值就是否吧。
Sub aa()
  Dim db As DAO.Database
  Dim fld As Field
  Dim strsql$
    strsql = "Create   table   Test(aa text(20))"
    CurrentDb.Execute (strsql)
    Set db = CurrentDb
   ...
FookYou 发表于 2010-1-5 14:08


默认值是“是”,看来只能用DAO了,用SQL实现不了
作者: asklove    时间: 2010-1-5 14:53
列值非空?
“在CREATE TABLE中定义属性的同时可以根据应用要示,定义属性上的约束条件,即属性值限制
包括:列值非空(NOT NULL 短语)
         列值唯一(UNIQUE 短语)
         检查列值是否满足一个布尔表达式(CHECK 短语)”
CREATE TABLE SC
      (Sno CHAR(9) NOT NULL,                          /*Sno 属性不允许取空值*/
       Cno CHAR(4) UNIQUE,                             /*要求Cno 列值唯一*/
       Ssex CHAR(2) CHECK (Ssex IN('男','女')),  /*性别属性 Ssex 只允许取'男'或'女' */
                :
           :
      );

<数据库系统概论>书上原话,没在ACCESS上试过..




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3