如何在 MS Access 中填充字段描述

2024-04-28

当通过 ODBC(尤其是 AS/400)链接到外部数据源时,我经常会在另一端遇到神秘的字段名称,而数据字典不可用。在极少数情况下,我能够从其他数据库获取字段描述,我希望能够一次导入它们,而不是一次将每个描述复制/粘贴到表设计表单中。

我无法在系统表中找到它,所以我不知道这个元数据存储在哪里。关于它在哪里以及是否可以批量更新有什么想法吗?

更新:我设法使用 OpenSchema 方法读取架构(请参阅下面的代码),但这会返回只读数据集,使我无法更新描述。

Function UpdateFieldDescriptions()
Dim cn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim rs2 As Recordset
Dim strSQL As String
Dim strDesc As String

Set cn = CurrentProject.Connection
Set rs = cn.OpenSchema(adSchemaColumns)

While Not rs.EOF
    If Left(rs!table_name, 4) <> "MSys" Then
        Debug.Print rs!table_name, rs!column_name, rs!Description
        strSQL = "SELECT Description " & _
            "FROM tblColumnDescriptions a " & _
            "WHERE a.Name = """ & rs!table_name & """ AND " & _
            "a.Column = """ & rs!column_name & """;"
        Set rs2 = CurrentDb.OpenRecordset(strSQL)
        While Not rs2.EOF
            strDesc = rs2.Fields(0)
            rs!Description = strDesc ' <---This generates an error
        Wend
    End If
    rs.MoveNext
Wend

rs.Update
rs.Close
Set rs = Nothing
Set rs2 = Nothing
Set cn = Nothing

End Function

使用 DAO 代替 ADO:

Sub SetFieldDesc(TblName As String, FldName As String, Description As String)
Dim db As DAO.Database, td As DAO.TableDef, fld As DAO.Field

    Set db = CurrentDb()
    Set td = db.TableDefs(TblName)
    Set fld = td.Fields(FldName)

    On Error Resume Next
    fld.Properties("Description") = Description
    If Err.Number = 3270 Then 'Property not found.'
        fld.Properties.Append fld.CreateProperty("Description", dbText, Description)
    End If
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 MS Access 中填充字段描述 的相关文章

  • 消除启动时的安全警告

    打开任何 MS Access 数据库时 都会出现安全警告 指出该文件可能对计算机有害 但是 有没有办法删除此消息 或者它应该仍然是一种必要的罪恶 您也许可以签署您的程序 我不确定 读本文 http www howto outlook com
  • 无需物理安装驱动程序即可使用OLEDB连接

    我一直在尝试访问驻留在我的计算机上的 MS Access 数据库文件 当我安装了 Office 时它工作得很好 当我尝试在未安装 Office 驱动程序的计算机上使用相同的代码时 会抛出错误 Microsoft ACE OLEDB 12 0
  • 如何取消透视交叉表之类的表格?

    从 Excel 文档导入数据后 我最终得到了一个如下所示的表格 与数据透视表非常相似 EMPLOYEEID SKILL1 SKILL2 SKILL 3 emp1 1 3 emp2 2 3 emp3 1 emp4 2 3 在我的数据库中 我有
  • 拆分 MS Access 数据库 - 前端部分位置

    最佳实践之一按照微软的规定 http msdn microsoft com en us library dd942824 aspx odc ac2007 ta PerformanceTipsToSpeedUpYourAccessDB Mul
  • Python:如何导入与子包同名的模块?

    我还没有遇到这个问题 但我很好奇如何导入与子包同名的模块 例如 可能的模块结构可能如下所示 mymodule init py string py 现在 如果我需要mymodule string分包and the string每个 Pytho
  • 如何导入名称与我的包中的模块冲突的模块?

    我的目录中有几个 python 模块 在同一目录下 我有一个包tests 我很想将模块命名为tests与它们包含测试的模块相同 尽管这当然并不重要 So in tests foo我天真地写着import foo 这不太好用 它是导入的tes
  • 将 nHibernate 3.x 与 Jet 驱动程序结合使用 (Microsoft Access)

    我正在开发一个 nHibernate 项目 该项目使用 Access 数据库作为数据源 不幸的是 我在运行时遇到问题 因为我找不到支持 nHibernate 3 x 的 Jet 驱动程序 我已经从 trunk 下载了源代码并编译了它 但事实
  • pygraphviz,导入错误:未定义的符号:Agundirected

    import pygraphviz Traceback most recent call last File
  • 在函数上使用子例程的目的

    我已经使用 Access 一段时间了 尽管我了解 Function 相对于 Sub 的明显好处是它可以返回值 但我不确定为什么我应该使用 Sub 而不是一个函数 毕竟 除非我弄错了 函数可以做所有 Subs 可以做的事情吗 注意 我完全知道
  • 需要帮助在 MS Access 中实施完全外部联接

    我无法让查询在 Access 中正常工作 我需要 dbo cardpurchases 和 dbo vendors 上的完整外部联接 以便所有所有供应商都将出现在查询中 无论是否在该供应商处进行购买 但 Access 不支持完全外部联接 我还
  • 更改索引设置访问 VBA

    我正在尝试自动化 Access 中的流程 我希望自动化的步骤之一是更改表中某些字段的索引设置 我需要这样做来提高后续查询的速度 使用索引查询速度大约快 100 倍 无论如何 假设我的表名为 Cars 如下所示 ID Name Charact
  • 自定义函数错误:“表达式不能在计算列中使用”

    在 Access 2010 中 我尝试在计算列中使用自定义 VBA 函数 我得到 表达式不能在计算列中使用 这是我的步骤 启动 Access 2010 创建一个新的数据库 DB 创建一个包含文本列 Column1 的表 Table1 在 C
  • 报告文字颠倒?

    由于特定原因 我需要能够在报告的下半部分颠倒 倒置 显示一些值 这份报告的目的是打印并从中间折叠起来 所以我希望它遵循这种特定的格式 我找不到任何可以轻松做到这一点的东西 我考虑过但不知道如何实施的一些想法 导入 颠倒字体并将控件的字体设置
  • MS Access:在列中搜索星号/星号

    我正在寻找一种方法来搜索包含字符串数据类型的列 问题是星号或星号是保留符号 以下查询无法正常工作 select from users where instr pattern 如何编写 Access 查询来搜索列中的星号 您可以使用方括号在
  • 两个日期/时间字段之间的差异 - Lotus Notes

    我有三个可编辑的日期 时间字段 前两个是 field1 和 field2 样式 日历 时间控件 两者都显示时间 小时和分钟 例如 15 51 第三个字段也是 可编辑的 我想显示 field1 和 field2 之间的区别 例如 如果 fie
  • VB SQL 语句未选择正确的行

    我试图使用 SELECT 语句在我的数据库中 选择 一个人 但它没有选择正确的人 我也不确定为什么 我正在使用访问数据库 数据库连接代码 Imports System Data OleDb Module Database Connectio
  • 导入 firebase/app 以前可以工作,现在我收到错误(firestore 不是函数)?

    我正在使用 React 和 Redux 我使用如下所示的 import 导入了 firebase import as firebase from firebase app import firebase firestore 一切正常 然后我
  • MS Access 执行 POST Web 请求

    在我的 MS Access 应用程序中 我需要定期向我的网络服务器发送一批信息 我不需要任何花哨的东西 比如 SOAP XML RPC 或任何东西 只需一个简单的 POST 页面请求就足够了 我用谷歌搜索了一下 但找不到任何真正有用的东西
  • 为什么我的 Mongoose 3.8.7 架构 getter 和 setter 被忽略?

    在使用 Node js Mongoose 和 MongoDB 时 我发现当我执行 findOne 查询时 我的 Mongoose 模式 getter 和 setter 不会触发 我发现一个旧线程表明 2 x 版本中的 getter 和 se
  • 如何使用 C# 查询远程 MS ACCESS .mdb 数据库

    我正在尝试使用 C 查询 mote MS ACCESS 数据库 mdb 文件 将文件复制到本地计算机时可以成功查询它 我只想远程放置文件 所以我的客户端程序不包含原始数据 static string m path http www xyz

随机推荐

  • 我该如何修复此错误:您需要在此活动中使用 Theme.AppCompat 主题(或后代)

    我搜索了所有互联网网站来修复此错误 但我无法解决 我只想创建带有两个按钮 是 和 否 的 AlertDialog 这是我的代码 import android content DialogInterface import android su
  • 使用Visual C++进行Linux开发时是否可以直接使用linux文件夹/usr/include

    我尝试使用针对 ubuntu 16 04 VM 的 Visual C for Linux Development 插件 与虚拟机的连接以及本地文件传输到远程文件夹 home user projects projectx 均成功 但是 当我尝
  • Vim 中的类和函数名称高亮显示

    在沉迷于它的模态输入之后 我最近刚刚从 Textmate 设置了我的 Vim 环境 不过 Vim 中的语法高亮似乎不太美观 我用 C 编写代码 由于函数调用和类名无法突出显示 因此代码更难以阅读 我玩了一下配色方案 但找不到任何与 类名 或
  • Android 中的位图圆形裁剪

    我有一个方形位图显示在半透明圆圈下方 用户可以触摸并拖动位图来定位它 我希望能够裁剪位图位于圆圈下方的任何部分 我怎样才能做到这一点 看一下圆角位图Drawable http developer android com reference
  • groff:我可以嵌入图像吗?

    我正在生成一些 troff 风格的文档 有没有办法将图像 jpg等 嵌入到groff文件中 取决于输出格式 如果您要创建 PostScript 文件 则可以使用 PSPIC 它使用 PS 文件本身和单个图像 例如 PSPIC image p
  • SwiftUI 按钮在出现时更改文本大小

    从 GIF 中可以看出 一旦工作表完全打开 完成 按钮文本就会变大 这不仅发生在这个视图中 而且也发生在使用系统图像而不是文本的其他视图中 有谁知道问题的解决方案还是我做错了什么 我仍然对 Swift 记忆犹新 NavigationView
  • JQuery 工具提示 VS JQuery UI 工具提示 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Facebook 浏览器中更新 Service Worker

    遇到了一个问题 我们的一些用户在我们网站的 Facebook 浏览器中存在有问题的 Service Worker 问题 当 Facebook 应用程序用户访问我们在 FB 上共享的页面时 他们会在 FB 浏览器上看到我们的 您离线页面 该错
  • 仅重命名 pandas 数据框中的最后一列(考虑重复的标题)

    我需要重命名only我的数据框中的最后一列 问题是有许多同名列 这是有原因的 因此我无法在网上其他示例中使用该代码 有没有办法使用特定的东西来隔离最后一列 我尝试过做这样的事情df rename columns df columns 1 T
  • Azure Function 上的此平台不支持 System.Drawing

    我已阅读以下内容answer https stackoverflow com questions 51904125 azure function gives error system drawing is not supported on
  • 用于生成交互式图的 Java 库

    我想将我们的 SOA 服务可视化为图表 我们有商业服务和领域服务 gt domain service 1 e g business service 1 gt domain service 2 gt domain service 3 我目前使
  • 创建新的 IHttpActionResult 操作结果方法

    有什么办法可以让我使用新的IHttpActionResult接口返回一个HttpStatusCode NoContent回复消息 我目前正在使用return new HttpResponseMessage HttpStatusCode No
  • 如何返回从起始资源到指定路径深度的所有 S->P->O 三元组?

    我的目标是以图形方式表示指定资源的深度两条边内的 S gt P gt O 关系 p Person 1 我希望从查询中返回该路径长度内的所有关系 s p o在我的图形应用程序中进行进一步处理 我尝试了下面的第一个查询 它给了我第一组 s p
  • EntityFramework 6 AddOrUpdate 不适用于复合或复合主键

    这个问题是我周末的噩梦 我有一张桌子AddOrUpdate无法正常工作 它不断添加但从不更新 我想做的就是当我使用以下命令将新实体添加到表中时AddOrUpdate我想要它检查AppointmentId and CompletionCode
  • 是否有使用严格求值的 Haskell 编译器或预处理器?

    我正在寻找一个默认使用严格求值而不是惰性求值的 Haskell 编译器 我只想使用 OCaml 但 Haskell 的语法是好多了比 OCaml 的 Haskell 是纯粹的 并且具有很酷的功能 例如类型类 我真的不想经常把 s and 我
  • Unity3D 中 android 切换速度太慢

    我的游戏有 1000 多个帧 并且精灵的格式是 Crunch 因为这个项目中的精灵太多 当我想从Windows切换到Android时 我花了将近1天的时间来切换 实际上我不允许它完全切换 但切换到Windows并没有那么多 也许只有15分钟
  • ShareLinkContent .setContentTitle()、.setContentDescription()、.setImageUrl() 已弃用

    Facebook 开发者网站表示 自 2017 年 4 月 18 日起 Graph API 2 9 及更高版本不再支持以下参数 对于 2 8 及更低版本 这些参数将持续有效到 2017 年 7 月 17 日 1 一个contentTitle
  • 如何在 Linux 上使用 Python 导出

    我需要在 Python 中进行这样的导出 export MY DATA my export 我尝试过这样做 python mode coding utf 8 import os os system export MY DATA my exp
  • 删除两个元素将数组平均分成三部分,时间复杂度为 O(n)

    我遇到一个问题 让您删除数组中的两个元素以使三部分的总和相等 Ex 1 2 4 3 5 2 1 After I drop the 4 and 5 it becomes 1 2 3 2 1 限制条件 1 Numbers are all int
  • 如何在 MS Access 中填充字段描述

    当通过 ODBC 尤其是 AS 400 链接到外部数据源时 我经常会在另一端遇到神秘的字段名称 而数据字典不可用 在极少数情况下 我能够从其他数据库获取字段描述 我希望能够一次导入它们 而不是一次将每个描述复制 粘贴到表设计表单中 我无法在