ADO VB 如何用语句将ACCESS数据库某字段的"必填"属性设置为"假"

huangmeibo 2008-10-12 06:26:17
VB如何用语句将ACCESS数据库某字段的"必填"属性设置为"假"?
我用下面的语句设置时出错.请高手指教.
'设定字段的"必填"属性为"假"
tbl.Columns("上级单位编号").Required = adFalse
...全文
390 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
瑞易互联 2011-10-21
  • 打赏
  • 举报
回复
楼上设置为“非必填”是在添加字段的时候进行的,设置好了就无法更改。
所以,我们建议在建表时全部设置为“必填”,就不要改了。免得出错
瑞易互联 2011-10-21
  • 打赏
  • 举报
回复
MDB可以利用ADOX或SQL的ALERT将字段设置为“必填”,但不能再设置为“非必填”。
由于改回NULL无效,所以您的程序不提供此功能。
lkhoji 2010-03-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fvflove 的回复:]
'增加主键 序号
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


这样其它的字段就为非必填了.
[/Quote]

出现错误提示:多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。
怎么办呢?
-晴天 2008-10-12
  • 打赏
  • 举报
回复
参考:
http://access911.net/fixhtm/73FABF1E1BDC.htm?tt=
huangmeibo 2008-10-12
  • 打赏
  • 举报
回复
这么难呀.我只是程序设计.只想到程序设计里进行设置.到表设计器里改不太现实也不太方便呀.还有谁知道吗?
-晴天 2008-10-12
  • 打赏
  • 举报
回复
利用 ACCESS 的 alter table 命令的 alter column 子句可以将一个非必填字段改为必填字段,但不能将必填字段改为非必填字段.如果要改,必须到表设计器中改.
fvflove 2008-10-12
  • 打赏
  • 举报
回复
'增加主键 序号
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


这样其它的字段就为非必填了.
huangmeibo 2008-10-12
  • 打赏
  • 举报
回复
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 '建立表
建立后我要把"编号"字段设为"必填"且"无重复",其它字段设为非必填.请高手指教.
vbman2003 2008-10-12
  • 打赏
  • 举报
回复
alter table 表名 alter column 字段名 类型属性 not null (省略not null就为nill)

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧