国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 数据库 > access > ACCESS数据库中Field对象的caption属性读写

ACCESS数据库中Field对象的caption属性读写

来源:程序员人生   发布时间:2013-12-11 05:30:20 阅读次数:3368次

    本文章说明如何用VBA读写该属性可惜Field对象的CAPTION属性并不是ADO原生对象而是可由ADO访问的ACCESS属性在帮助文档中介绍了两种访问这个属性的方法一种利用ADO一种利用DAO在这里我直接说出结果由于在ACCESS及以前的版本中Field对象并不是ACCESSObject对象因而也就没有AccessObjectProperties属性所以我们也就别想在ADO中去解决这个问题吧现在给出DAO的代码解决办法

    SubSetProperty(dbsTempAsDAOFieldstrNameAsString_ booTempAsString) DimprpNewAsDAOProperty DimerrLoopAsError Attempttosetthespecifiedproperty

    OnErrorGoToErr_Property dbsTempProperties(strName)=booTemp OnErrorGoTo ExitSub Err_Property:

    Errormeansthatthepropertywasnotfound IfDBEngineErrors(Number=Then

    Createpropertysetitsvalueandappendittothe Propertiescollection

    SetprpNew=dbsTempCreateProperty(strName_ dbTextbooTemp)

    dbsTempPropertiesAppendprpNew ResumeNext Else

    Ifdifferenterrorhasoccurreddisplaymessage ForEacherrLoopInDBEngineErrors

    MsgBoxErrornumber:&errLoopNumber&VBCr&_ errLoopDescription NexterrLoop End EndIf

    EndSub SubDisplayClumCaption(ByValtbnameAsStringByValfldIndexAsInteger)

    DimdsetAsDAOTableDef) //*****必须使用TableDef对象

    DimiAsIntegerDimtmpPropAsDAOProperty //强制使用DAO类型

    DimfldAsDAOField //强制使用DAO类型DimtmpTxtAsStringOnErrorResumeNext

    DimmsgAsStringDimcdbAsDAODatabase //*****强制使用DAO类型

    Setcdb=CurrentDb //****关键确定对当前数据库的静态引用

    Setdset=cdbTableDefs(tbname)//*****必须使用TableDef对象

    ForEachfldIndsetFields tmpTxt=fldName SetPropertyfldCaptiontmpTxt msg=msg fldProperties(Caption

    msg=msg Chr() Chr() Nextfld MsgBoxmsgEndSub

    这里代码中有两个SUB一个是SetProperty用来判断一个字段是否有指定的属性如果没有设置有就将相应的数值赋给该属性这段代码几乎完全是照搬MS的帮助文档另一个是DisplayClumCaption这是对指定表中的字段按字段名设置其CAPTION属性的演示代码如果有需要大家可以对SetProperty进行修改使他变成一个只读的函数用来枚举指定表中每个字段的CAPTION属性 DisplayClumCaption代码中我打星号的地方是要重点注意的因为我在这里曾走过弯路浪费了一个下午的时间在MSDN中游荡

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生