ADO VB 如何用语句将ACCESS数据库某字段的"必填"属性设置为"假" VB如何用语句将ACCESS数据库某字段的"必填"属性设置为"假"?我用下面的语句设置时出错.请高手指教. '设定字段的"必填"属性为"假" tbl.Columns("上级单位编号").Required = adFalse 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 alter table 表名 alter column 字段名 类型属性 not null (省略not null就为nill) 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 '建立表 建立后我要把"编号"字段设为"必填"且"无重复",其它字段设为非必填.请高手指教. '增加主键 序号tbl.Keys.Append "PrimaryKey", adKeyPrimary, "序号"序号就是必填无重复的了.tbl.Columns("所属上级序号").Attributes = adColNullabletbl.Columns("铁路局").Attributes = adColNullabletbl.Columns("工务段").Attributes = adColNullabletbl.Columns("车间").Attributes = adColNullabletbl.Columns("巡养站").Attributes = adColNullabletbl.Columns("起点里程").Attributes = adColNullabletbl.Columns("终点里程").Attributes = adColNullable这样其它的字段就为非必填了. 利用 ACCESS 的 alter table 命令的 alter column 子句可以将一个非必填字段改为必填字段,但不能将必填字段改为非必填字段.如果要改,必须到表设计器中改. 参考:http://access911.net/fixhtm/73FABF1E1BDC.htm?tt= 出现错误提示:多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。怎么办呢? MDB可以利用ADOX或SQL的ALERT将字段设置为“必填”,但不能再设置为“非必填”。由于改回NULL无效,所以您的程序不提供此功能。 请教关于commondialog控件的问题 winsock问题,请高手进,很奇怪的问题 WMI的问题,vbScript转换为VB 为什么我没有? 菜鸟问关于用VB生成各种文件格式的问题,拿分请进!,急!!!! 统计表中的记录,该怎么写这个语句? vb和数据库 本人的问题多多,想和网络编程高手交朋友! 进度条显示进度时为什么不显示文字了? VB控件 VB DIB 如何得到某点RGB值? 请问 vba中怎么判断一个数组是否初始化?
我用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 '建立表
建立后我要把"编号"字段设为"必填"且"无重复",其它字段设为非必填.请高手指教.
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
这样其它的字段就为非必填了.
http://access911.net/fixhtm/73FABF1E1BDC.htm?tt=
出现错误提示:多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。
怎么办呢?
由于改回NULL无效,所以您的程序不提供此功能。