VB如何用语句将ACCESS数据库某字段的"必填"属性设置为"假"?
我用下面的语句设置时出错.请高手指教.
            '设定字段的"必填"属性为"假"
            tbl.Columns("上级单位编号").Required = adFalse

解决方案 »

  1.   

    alter table 表名 alter column 字段名 类型属性 not null  (省略not null就为nill)
      

  2.   

    VB ADO 如何用语句将ACCESS数据库某字段的"必填"属性设置为"假" 
    我用ADX建立数据库和数据表: 
    Dim cat As New ADOX.Catalog 
    Dim tbl As New ADOX.Table 
    Dim pstr As String 
    Dim DB As String DB = App.Path & "\" & "department.mdb" 
    pstr = "Provider=Microsoft.Jet.OLEDB.4.0;" '数据库驱动 4.0 For Office 2k/2003, 3.5.1 For Office 97 
    pstr = pstr & "Data Source=" & DB cat.Create pstr '建立数据库存 
    cat.ActiveConnection = pstr tbl.Name = "单位" '定义表名 tbl.Columns.Append "编号", adInteger '定义字段 
    tbl.Columns.Append "上级单位编号", adInteger '定义字段 
    tbl.Columns.Append "铁路局", adVarWChar, 20 '定义字段 
    tbl.Columns.Append "工务段", adVarWChar, 20 '定义字段 
    tbl.Columns.Append "车间", adVarWChar, 20 '定义字段 
    tbl.Columns.Append "巡养站", adVarWChar, 20 '定义字段 
    tbl.Columns.Append "起点里程", adDouble 
    tbl.Columns.Append "终点里程", adDouble 
    cat.Tables.Append tbl '建立表 
    建立后我要把"编号"字段设为"必填"且"无重复",其它字段设为非必填.请高手指教.
      

  3.   

    '增加主键 序号
    tbl.Keys.Append "PrimaryKey", adKeyPrimary, "序号"
    序号就是必填无重复的了.
    tbl.Columns("所属上级序号").Attributes = adColNullable
    tbl.Columns("铁路局").Attributes = adColNullable
    tbl.Columns("工务段").Attributes = adColNullable
    tbl.Columns("车间").Attributes = adColNullable
    tbl.Columns("巡养站").Attributes = adColNullable
    tbl.Columns("起点里程").Attributes = adColNullable
    tbl.Columns("终点里程").Attributes = adColNullable
    这样其它的字段就为非必填了.
      

  4.   

    利用 ACCESS 的 alter table 命令的 alter column 子句可以将一个非必填字段改为必填字段,但不能将必填字段改为非必填字段.如果要改,必须到表设计器中改.
      

  5.   

    参考:
    http://access911.net/fixhtm/73FABF1E1BDC.htm?tt=
      

  6.   


    出现错误提示:多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。
    怎么办呢?
      

  7.   

    MDB可以利用ADOX或SQL的ALERT将字段设置为“必填”,但不能再设置为“非必填”。
    由于改回NULL无效,所以您的程序不提供此功能。