sql是一種特殊目的的編程語言,下面是小編給大家分享的一篇sql設置access默認值的詳細教程,感興趣的朋友跟小編一起來了解一下吧!
簡述:
如何定義字段默認值
問題:
如何設定表的某字段默認值?
方法一:
用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
以上就是關于sql設置access默認值的詳細教程了,想必都了解了吧,更多相關內容請繼續關注錯新技術頻道。
新聞熱點
疑難解答