用sql设置access的默认值
用sql设置access的默认值
发布时间:2016-12-29 来源:查字典编辑
摘要:简述:如何定义字段默认值问题:如何设定表的某字段默认值?方法一:用JETSQL来完成ALTERTABLETABLENAMEALTERCOLU...

简述:

如何定义字段默认值

问题:

如何设定表的某字段默认值?

方法一:

用JETSQL来完成

ALTERTABLETABLENAMEALTERCOLUMNFIELDNAMETEXT(40)DEFAULT默认值

请注意,上述语句要用ADODB.CONNECTION.EXECUTE等方法来执行,直接用上述代码建立一个查询无法保存或者运行,会得到ACCESS的错误提示。

方法二:

ADOX可以。

FunctionChengTableFieldPro_ADO()

DimMyTableNameAsString

DimMyFieldNameAsString

DimGetFieldDesc_ADO

DimGetFieldDescription

MyTableName="ke_hu"

MyFieldName="dw_name"

DimMyDBAsNewADOX.Catalog

DimMyTableAsADOX.Table

DimMyFieldAsADOX.Column

OnErrorGoToErr_GetFieldDescription

MyDB.ActiveConnection=CurrentProject.Connection

SetMyTable=MyDB.Tables(MyTableName)

GetFieldDesc_ADO=MyTable.Columns(MyFieldName).Properties("Description")

DimproAsADODB.Property

ForEachproInMyTable.Columns(MyFieldName).Properties

Debug.Printpro.Name&":"&pro.Value&"----type:"&pro.Type

Next

WithMyTable.Columns(MyFieldName)

'.Properties("nullable")=True'必填

'必填无法用上述代码设置,出错提示为:

'多步OLEDB操作产生错误。如果可能,请检查每个OLEDB状态值。没有工作被完成。

'目前可以用以下语句设置:

'CurrentDb.TableDefs("ke_hu").Fields("DW_NAME").Properties("Required")=False

.Properties("JetOLEDB:AllowZeroLength")=True'允许空

.Properties("default")="默默默默认认认认"'默认值

EndWith

SetMyDB=Nothing

Bye_GetFieldDescription:

ExitFunction

Err_GetFieldDescription:

Beep

Debug.PrintErr.Description

MsgBoxErr.Description,vbExclamation

GetFieldDescription=Null

ResumeBye_GetFieldDescription

EndFunction

关于“多步错误”的一些参考:

SubChangeUnicode()

DimtdfAsTableDef

DimfldAsField

DimdbAsDatabase

DimproAsProperty

Setdb=CurrentDb

ForEachtdfIndb.TableDefs

ForEachfldIntdf.Fields

Iffld.Type=dbTextThen

IfDBEngine.Errors(0).Number=3270Then

Setpro=fld.CreateProperty("UnicodeCompression",1,0)

fld.Properties.Appendp

EndIf

fld.Properties("UnicodeCompression")=True

EndIf

Nextfld

Nexttdf

EndSub

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新ASP教程学习
热门ASP教程学习
编程开发子分类