ACCESS数据库中Field对象的caption属性(也就是标题)属性是用来设置数据字段的标题的,在正常的数据库设计中为了保持维护的便利性,许多开发者都将字段名与标题做了分别设置,标题往往比字段名更友好,更能说明字段的用途。本文章说明如何用VBA读写该属性。

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

Sub SetProperty(dbsTemp As DAO.Field, strName As String, _

booTemp As String)

Dim prpNew As DAO.Property

Dim errLoop As Error

' Attempt to set the specified property.

On Error GoTo Err_Property

dbsTemp.Properties(strName) = booTemp

On Error GoTo 0

Exit Sub

Err_Property:

' Error 3270 means that the property was not found.

If DBEngine.Errors(0).Number = 3270 Then

' Create property, set its value, and append it to the

' Properties collection.

Set prpNew = dbsTemp.CreateProperty(strName, _

dbText, booTemp)

dbsTemp.Properties.Append prpNew

Resume Next

Else

' If different error has occurred, display message.

For Each errLoop In DBEngine.Errors

MsgBox "Error number: " & errLoop.Number & vbCr & _

errLoop.Description

Next errLoop

End

End If

End Sub

Sub DisplayClumCaption(ByVal tbname As String, ByVal fldIndex As Integer)

Dim dset As DAO.TableDef) //*****必须使用TableDef对象

Dim i As Integer

Dim tmpProp As DAO.Property //强制使用DAO类型

Dim fld As DAO.Field //强制使用DAO类型

Dim tmpTxt As String

'On Error Resume Next

Dim msg As String

Dim cdb As DAO.Database //*****强制使用DAO类型

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

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

For Each fld In dset.Fields

tmpTxt = fld.Name

SetProperty fld, "Caption", tmpTxt

msg = msg + fld.Properties("Caption")

msg = msg + Chr(10) + Chr(13)

Next fld

MsgBox msg

End Sub

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

mysql 中caption_ACCESS数据库中Field对象的caption属性读写相关推荐

  1. DStream输出之使用foreachRDD()将数据写入诸如Mysql的外部数据库中

    前言 输出操作指定了对流数据经转化操作得到的数据所要执行的操作(例如把结果推入外部数据库或输出到屏幕上).与RDD中的惰性求值类似,如果一个DStream及其派生出的DStream都没有被执行输出操作 ...

  2. jsp在mysql中删除数据_如何在jsp页面中删除数据库中的数据

    如何在jsp页面中删除数据库中的数据 各位大虾! 我想在jsp页面上写一个按钮功能,从而动态的删除数据库中的一行数据. 不知道怎么实现 这是我写的一段代码 数据库是MySql UserBean p3= ...

  3. server sql 数据总行数_SqlServer中获取数据库中每个表的行数

    CREATE TABLE #RowCounts(NumberOfRows BIGINT,TableName VARCHAR(128)) EXEC sp_MSForEachTable 'INSERT I ...

  4. html中显示数据库中的一条数据,如何使用html表显示数据库中的数据

    我正在尝试在HTML表中显示数据库中的数据.主要问题是:该表未出现. Id String Array // Mostrar dados echo " { $databaseName = 'v ...

  5. android studio数据库存储数据,如何使用API​​ 23在android studio中的数据库中存储数据?...

    大多数时候我不会发布任何内容,因为我可以在其他帖子中找到我需要的所有内容,但是现在我已经有几天了,您如何在数据库中存储任何内容?这是我的Java代码如何使用API​​ 23在android studi ...

  6. Java中获取数据库中两个时间的相差秒数

    场景 Java中获取数据库中结束时间与开始时间相差的秒数. 实现 Long betweenTime=0l;betweenTime =((b.getFinishTime().getTime()-b.ge ...

  7. php checkbox 保存,PHP中在数据库中保存Checkbox数据

    PHP中在数据库中保存Checkbox数据 /* if we passed in an array of the checkboxes we want to be displayed as check ...

  8. jsp中向数据库中插入当前时间的方法精确到秒

    jsp中向数据库中插入当前时间的方法精确到秒 1. 如果要插入的日期是当前时间,最简单的办法就是利用oracle自带的日期函数:sysdate. 建表时,将字段默认值声明为sysdate,如下: cr ...

  9. mysql 取 映射数据库中_JAVA与数据库MySQL相连接

    JDBC(Java数据库连接体系结构): 是Java实现数据库访问的应用程序编程接口,主要功能是管理存放在数据库中的数据.通过接口对象,应用程序可以完成与数据库的连接,执行SQL语句,从数据库中获取结 ...

  10. mysql里面guid_数据库中GUID的生成

    GUID, 即Globally Unique Identifier(全球唯一标识符) 也称作UUID(Universally Unique IDentifier) . GUID是一个通过特定算法产生的 ...

最新文章

  1. 使用logrotate做nginx日志分割
  2. 用友致远协同OA办公软件可以给外驻领导带来什么好处?
  3. 盛大云主机 就是价格有点贵啊
  4. 遏止个人信息泄露亟待立法跟进
  5. hdoj2553(N皇后问题)
  6. ASCII Unicode GBK UTF的联系
  7. resultset需要关闭吗_Java程序员都需要懂的「反射」
  8. 网络 计算机网络预备知识
  9. apollo配置中心搭建
  10. 关于Qt学习之路2:8、添加动作 这一节课 发现里面的程序运行后没有图标
  11. 2020最全蓝牙耳机盘点:年会最值得选择的十大优秀蓝牙耳机品牌
  12. Windows 电源计划设置关闭显示器不起作用的解决方法
  13. GAEfan qiang教程
  14. recap 360.html,Autodesk工程扫描数据软件ReCap 360 Pro 2018 R2 Win
  15. java强引用不会被回收_强引用(Strong Reference)-不回收
  16. .NET平台机器学习资源汇总,有你想要的么?(转)
  17. 蚂蚁资深技术专家刘晓莹十年支付宝回忆录
  18. Hyper-V的虚拟化架构
  19. 苹果笔记本开机问号白色问号?
  20. uhs3内存卡有哪些_UHS-3标准加身 东芝新款Exceria Pro存储卡性能堪比SSD

热门文章

  1. oracle rac查看节点及宕库
  2. css背景颜色跟随文字颜色、设置文字颜色反色
  3. 安卓火狐浏览器wifi远程调试没有扫描二维码应用的问题
  4. 编写函数void reverse(string s),用递归算法使字符串s倒叙
  5. EXCEL 根据超链接直接显示图片
  6. thinkphp5.0接入芝麻信用分
  7. StoryBoard的基本使用方法
  8. lvgl v8之Styling the scrollbars
  9. FPGA-小梅哥时序分析
  10. cd linux 镜像,cdlinux镜像 v0.9.7官方版