当前位置: 首页 > 知识 >正文

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

这篇文章解释了如何用VBA读写这个属性。遗憾的是,Field对象的CAPTION属性不是ADO原生对象,而是一个“ADO可访问的access属性”。在帮助文档中,介绍了访问该属性的两种方法,一种是使用ADO,

一种是使用DAO,在这里我直接说出结果。因为Field对象不是ACCESS2003和早期版本中的ACCESSObject对象,所以没有AccessObjectProperties属性。

所以我们先不要试图用ADO来解决这个问题,现在给出DAO的代码解决方案。

SubSetProperty(dbsTempAsDAO.Field,strNameAsString,_ booTempAsString) DimprpNewAsDAO.Property DimerrLoopAsError 'Attempttosetthespecifiedproperty.

OnErrorGoToErr_Property dbsTemp.Properties(strName)=booTemp OnErrorGoTo0 ExitSub Err_Property:

'Error3270meansthatthepropertywasnotfound. IfDBEngine.Errors(0).Number=3270Then

'Createproperty,setitsvalue,andappendittothe 'Propertiescollection.

SetprpNew=dbsTemp.CreateProperty(strName,_ dbText,booTemp)

dbsTemp.Properties.AppendprpNew ResumeNext Else

'Ifdifferenterrorhasoccurred,displaymessage. ForEacherrLoopInDBEngine.Errors

MsgBox'Errornumber:'errLoop.NumberVBCr_ errLoop.Description NexterrLoop End EndIf

EndSub SubDisplayClumCaption(ByValtbnameAsString,ByValfldIndexAsInteger)

DimdsetAsDAO .TableDef) //*****必须使用TableDef对象

DimiAsIntegerDimtmpPropAsDAO .属性//strong制使用数据访问对象(数据访问对象)类型

DimfldAsDAO .Field //strong制使用数据访问对象(数据访问对象)类型DimtmpTxtAsString ' onerrorresumenext

DimmsgAsStringDimcdbAsDAO。数据库//***** Erzwingen des DAO-Typs

设置CDB=当前数据库//* * *键来确定对当前数据库的静态引用。

Setdset=cdb .TableDefs(tbname)//*****必须使用TableDef对象

ForEachfldIndset.Fields tmpTxt=fld.Name SetPropertyfld,'Caption',tmpTxt msg=msg fld.Properties('Caption')

msg=msg Chr(10) Chr(13) Nextfld MsgBoxmsgEndSub

这里的代码中有两个子项,一个是SetProperty,用来判断一个字段是否有指定的属性。如果没有设置,相应的值将被赋给该属性。这段代码几乎完全复制了MS的帮助文档。

另一个是DisplayClumCaption,是根据字段名设置指定表中字段的Caption属性的演示代码。如有必要,可以修改SetProperty,使其成为只读函数。

用于枚举指定表中每个字段的标题属性。在DisplayClumCaption代码中,我要注意我标记“星号”的地方,因为我在这里走了弯路,浪费了一个下午在MSDN闲逛。

相关文章:
  • 7月10日基金净值:博时价值增长混合最新净值1.006,跌0.3%
  • 6月20日基金净值:广发中证军工ETF最新净值1.1325,涨2.97%
  • 5月9日基金净值:南方中证房地产ETF最新净值0.6732,涨0.06%
  • sql server安装步骤(sql server 2008 序列号)
  • 7月4日基金净值:博时恒润6个月持有期混合A最新净值0.9421,跌0.15%
  • 6月12日基金净值:兴全社会价值三年持有混合最新净值1.4126,涨0.26%
  • 6月6日基金净值:银华价值优选混合最新净值2.1422,跌1.65%
  • 5月15日基金净值:华宝生态中国混合A最新净值4.312,涨0.77%
  • 4月13日基金净值:华安生态优先混合A最新净值3.496,涨0.75%
  • 7月5日基金净值:新华策略精选股票最新净值1.4492,跌1.68%