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

文章中打“星号”的地方是要重点注意的,因为笔者在这里曾走过弯路,浪费了一个下午的时间在MSDN中游荡。现在分享给大家

本文章说明如何用VBA读写该属性。 可惜Field对象的CAPTION属性并不是ADO原生对象,而是“可由ADO访问的ACCESS属性”,在帮助文档中介绍了两种访问这个属性的方法,一种利用ADO,一种利用DAO,在这里我直接说出结果,由于在ACCESS2003及以前的版本中Field对象并不是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.Number&VBCr&_ errLoop.Description NexterrLoop End EndIf

EndSub SubDisplayClumCaption(ByValtbnameAsString,ByValfldIndexAsInteger)

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

DimiAsIntegerDimtmpPropAsDAO.Property //强制使用DAO类型

DimfldAsDAO.Field //强制使用DAO类型DimtmpTxtAsString'OnErrorResumeNext

DimmsgAsStringDimcdbAsDAO.Database //*****强制使用DAO类型

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

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

这里代码中有两个SUB,一个是SetProperty,用来判断一个字段是否有指定的属性,如果没有设置,有就将相应的数值赋给该属性,这段代码几乎完全是照搬MS的帮助文档。另一个是DisplayClumCaption,这是对指定表中的字段按字段名设置其CAPTION属性的演示代码。如果有需要,大家可以对SetProperty进行修改,使他变成一个只读的函数,用来枚举指定表中每个字段的CAPTION属性。DisplayClumCaption代码中

时间: 2024-08-01 23:53:02

分享:ACCESS数据库中Field对象的caption属性读写的相关文章

ACCESS中Field对象的标题属性

ACCESS数据库中Field对象的caption属性(也就是标题)是用来设置数据字段的标题,在正常的数据库设计中为了保持维护的便利性,许多开发者都将字段名与标题做了分别设置,标题往往比字段名更友好,更能说明字段的用途.本篇从另一个角度来说明如何用VBA读写该属性. Field对象的CAPTION属性并不是ADO原生对象,而是"可由ADO访问的ACCESS属性",在帮助文档中介绍了两种访问这个属性的方法,一种利用ADO,一种利用DAO,由于在ACCESS2003及以前的版本中Field

用CELL组件显示Access数据库的图片对象

Access数据库支持OLE对象字段,其中最常用的是BMP对象,即图片对象.图片对象的加入使Access数据库的可用性得到大大提高,它使数据库不仅仅局限于传统意义上的数据(即数值与字符),提高了信息的质量,并更接近于人们日常生活中的媒体.例如,要作产品介绍,需要保存该产品的图片.图片往往具有比文字更大的说服力. 然而,直接采用VB等开发工具将Access数据库中的图片对象取出来显示到屏幕上并实现打印输出并不容易.这儿介绍一个简单方法,只用几行代码即可将图片对象显示到屏幕上,并支持图片的缩放,高质

删除Access数据库中的空记录

  用零长度字符指示不存在数据 若要在 Microsoft Access 数据库中指示不存在数据,可以在"文本"或"备注"字段输入零长度字符串 (零长度字符串:不含字符的字符串.可以使用零长度字符串来表明您知道该字段没有值.输入零长度字符串的方法是键入两个彼此之间没有空格的双引号 (" ").).在连接到 Microsoft SQL Server 数据库的 Microsoft Access 项目 (Microsoft Access 项目:与 Mi

怎么用c++的ado.net将access数据库中得到的数据存入一维数组,并返回。

问题描述 怎么用c++的ado.net将access数据库中得到的数据存入一维数组,并返回. RecordsetPtr pRs;pRs.CreateInstance(_uuidof(Recordset));//创建记录集对象 try{ char a[800]; sprintf(aselect 光强 from 光强数据表 where 月份 between 1 and 3 and 时间=%d""num_t); pRs->Open(_bstr_t(a)m_pConn.GetInterf

access数据库-C#中连接ACCESS数据库中某一列,在combobox列表中表示所有行,代码该如何写

问题描述 C#中连接ACCESS数据库中某一列,在combobox列表中表示所有行,代码该如何写 求助:C#中连接ACCESS数据库中某一列,在combobox列表中表示所有行,代码该如何写 解决方案 从列转到数组,再用数组绑定控件. .DataSource = 读取条件设定.Tables["五行农历显示"].AsEnumerable().Select(d => d.Field("日期")).ToArray();/*表中某列转数组*/ 解决方案二: 初学者,意

如何将access数据库中的某项数据导入到excel

问题描述 如何将access数据库中的某项数据导入到excel 如何将access数据库中的某项数据导入到指定excel的工作薄中 解决方案 先查询出数据,然后循环写入.java用poi,.net用npoi写入excel,具体google下. 解决方案二: 下面是我用Vb写的一段Access的数据导入excel的程序 Dim i As Integer, r As Integer, c As Integer Dim newxls As Excel.Application Dim newbook A

将Access数据库中数据导入到SQL Server中的详细方法实例_实用技巧

Default.aspx 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AccessToSQL.aspx.cs" Inherits="AccessToSQL" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

将Excel中数据导入到Access数据库中的方法_实用技巧

Default.aspx 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/

通过jdbc-odbc往Access数据库中OLE类型的表中插入数据的例子

/***说明:*通过jdbc-odbc往Access数据库中插入图片.或者乱七八糟的文件都行*注意,用DataInputStream会出错*/import java.sql.*;import java.io.FileInputStream;public class sss{   public static void main(String args[])   {     try     {        //连接ACCESS数据库,这里用了连接串哦         Class.forName("