Access2010 中的数据宏:触发器?

2023-12-08

我听说即将推出的 Access2010 具有数据宏功能,该功能将首次向 Access 数据引擎表添加类似触发器的功能。有人有这方面的进一步细节吗?例如,它们可以在代码中创建(ACEDAO、SQL DDL 等)吗?如果从 Access 用户界面外部修改数据,例如,数据宏是否运行通过 ODBC、OLE DB 等?


好的,更多信息。

如果从 Access 用户界面外部修改数据,例如,数据宏是否运行通过 ODBC、OLE DB 等?

是的,它确实。

这些真正的触发器位于数据引擎级别。因此,使用 ado、dao 甚至在 ms-access 中的表视图中编辑表都意味着触发器将被触发。这些触发器还包括您的计算机上甚至没有安装 ms-access 的情况。

当然,您需要安装 JET(在本文的其余部分中,我将使用术语 ACE)。请记住,直到 2007 年,访问团队才获得了 JET 的所有权。他们现在可以根据自己的需求自由增强该引擎。我们从 2007 年开始看到 ACE 发生了一些变化,现在我们将在 2010 年看到更多变化。其中一些功能对我来说仍然是 NDA……但我会在这里尽可能多地透露。

例如,它们可以在代码中创建(ACEDAO、SQL DDL 等)吗?

也许是在代码中,但不是使用 SQL ddl。触发器不是 sql 命令。请记住,对于 Oracle、Sql 服务器或市场上的大多数系统,它们都倾向于拥有自己的触发器自定义语言。

因此,在新的 ACE 中,您将编写所谓的数据宏。您可以使用 ms-access 中的宏编辑器。这些是老式的访问宏,但编辑器已完全重新设计。新的宏还具有子例程、循环、if then else 块和一种记录集类型。请记住,我们在 2007 年的宏中获得了创建临时变量的能力。 2010 年,这一功能得到扩展,还包括局部变量和上述新功能。

现有宏命令的语法与以前的版本相同。然而,我们有一个新的 IDE,并且添加了上述所有很酷的命令。因此,我们现在有两种类型的宏。 UI 宏(和以前一样常规)和现在新的所谓的数据宏。表级宏能够在屏幕上显示错误消息是没有意义的。因此记录的任何错误都会记录到表中。还有一些新的日志记录命令可让您将自己的自定义错误写入该表。这里有一个辉煌而简单的设计。错误日志表如下所示:

alt text
(source: kallal.ca)

在一个拥有庞大 IDE、庞大框架和可怕的庞大代码库的世界中,更新表中的简单行需要大量代码,我可以说数据宏是最令人耳目一新的功能。它们感觉很像原始 dbaseII 的工作方式。它们非常简单,但威力十足,因为它们在桌面级别运行。

例如,下面是一个数据宏,它将维护库存总计表。在此示例中,我将假设存在主库存记录。然后我们有一个订单详细信息表。如果用户编辑订单表中的任何值,我们希望主表自动更新库存水平。

所以我们有: 我有两张桌子

tblFruits:    main data fruit inventory table
id         (autonumber)
Fruit text
OnHand    (number value of fruit in inventory)

tblFruitsOrder
id       (autonumber)
Fruit_id (FK to tblFruts.ID)
QtyOrder (number of fruit to order)

这是简单的测试

因此,我们将在 tblFruitsOrder 中有一个将更新的触发器 + 当 QtyOrder 字段为 tblFruits 时,维持 tblFruits 中的库存水平 编辑或修改。

该宏如下所示:

alt text
(source: kallal.ca)

请注意上面的内容是多么简单。请注意,在 IDE 中,如果您单击代码的一部分,您将获得旧式宏类型编辑,您可以在其中输入命令的值(这与 2010 年之前类似,但现在参数和编辑发生在代码,而不是以前版本中出现在屏幕底部的面板)。

这是另一个屏幕截图,其中我尝试了执行循环和调用子例程的功能。

alt text
(source: kallal.ca)

在上面我们可以使用 msgboxs 等,因为这不是表级宏。因此,当您编写表级宏而不是常规宏时,可用命令会自动受到限制。我们用来区分这两类宏的术语是 UI 宏和数据宏。

以上就是我在公开场合能说的全部内容了。然而,关于这些宏,还有一些真正简洁的功能,我还不能公开谈论这些功能,因为我仍然在这些功能上遵守保密协议。但来这里还有更多惊喜。

这是我们拥有的表触发器类型的屏幕截图:

alt text
(source: kallal.ca)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Access2010 中的数据宏:触发器? 的相关文章

  • 自动电子邮件生成无法解析多个收件人

    我有一个 VBA 脚本 可以创建并保存草稿电子邮件 为了添加收件人 它从链接的 Excel 表中提取一个字符串并将其添加到 Recipients 对象中 对于只有单一收件人的电子邮件 这就像一个魅力 用户所需要做的就是打开草稿 花 5 秒钟
  • Access 2007 触发器和过程等效项?

    好的 有人有一些关于 Access 2007 功能 有关触发器或存储过程 的好资源吗 它甚至可以做它们或类似的事情吗 我在 Microsoft 帮助中找到的所有资源都引用了 Access 2003 以及许多在线帮助手册 2007 年一切都发
  • 通过 VBA MS_Access 将 MS Access 表导出为 dBase 5

    如何通过 VBA 将单个表导出为 dBase 5 文件 目前我正在使用这个VBA代码 DoCmd TransferDatabase acExport dBase IV DB Total acTable DB Total C Data Fal
  • 查询从同一表中的另一条记录获取值并按大于间隙阈值的差异进行过滤

    我将数据导入到 MS Access 中的临时表中 如下所示 我添加了需要使用 SQL 查询计算的 Gap 和 Previous Current 列 间隙阈值 是用户输入或范围提供给查询和例如是 300 GlobalID 对 ItemID 进
  • 使用 VBA 使用另一个表中的值更新访问表

    我在数据库中有两个表 表 1 和表 2 我正在尝试根据表 2 中的数据使用 VBA 代码更新表 1 Example Table 1 PartNo Price Description A 100 B 200 Bad C 300 Table 2
  • MS access:如何嵌入JPEG图像并预览它们?

    我用的是Access 2007 我创建了一个 OLE 字段来存储 JPEG 因此我可以轻松地将它们拖到数据库中 这样可行 问题是 该字段不显示 JPEG 而是显示通用 JPEG 缩略图我需要双击打开 JPEG 并预览它 有办法吗预览 JPE
  • 规范化现有的 MS Access 数据库

    我有一个大型访问数据库 需要将其规范化为五个表和一个查找表 我了解标准化背后的理论 并且已经勾勒出表格的外观 但我不知道如何转换我的表格以使数据库标准化 表分析器没有提供我想要的细分 如果您只有一个表 请向其中添加自动编号字段 然后创建其他
  • 在 Access DB 中对字符串进行排序

    我有一个带有字段版本的数据库 可能有许多记录具有相同的版本字符串 因此要提取我拥有的版本 我执行以下操作 SELECT DISTINCT tblSample Version FROM tblSample ORDER BY tblSample
  • 使用多个值更新查询

    我想在 MS Access 2003 中编写一个更新查询 我有一个名为product code 如果产品代码是 110 到 752 之间 或 910 到 1124 之间 我想更新产品代码 15 如果产品代码是 1210 和 1213 之间
  • Microsoft Access 和分页大型数据集

    有没有一种简单的方法可以通过直接 SQL 使用 Access 数据库对大型数据集进行分页 假设我的查询通常会返回 100 行 但我希望查询对结果进行分页 以便它只检索 假设 前 10 行 直到我请求接下来的 10 行 它才会查询第 11 2
  • 使用 access VBA 将列表框项目添加到数组

    我在访问表单中有一个列表框 它包含 18 项 我如何使用 access vba 将这些项目存储到数组中 下面将把列表框的内容拉入数组并吐出内容 Dim Size As Integer Size Me List0 ListCount 1 Re
  • 在 Access 2007 中使用 Group By 计算中位数的最佳方法

    我有一个表 其中包含一本书 然后包含该书的多个价格 这是一个高度简化的示例 ID BOOK PRICE 1 BOOK1 10 2 BOOK1 15 3 BOOK1 12 4 BOOK2 8 5 BOOK2 2 我很容易计算平均值 但是一定有
  • 使用 MS Access 在 Excel VBA 中运行代码

    我使用访问前端从 SQL Server 中提取查询 然后 我将记录集导出到新的 Excel 工作簿 然后我想使用 Excel 运行 Access 中的代码 它只是循环遍历单元格并添加格式并检查特定值 我可以从访问权限运行它 它将让工作簿打开
  • Access 2007 - INSERT 和即时 SELECT 无法检索插入的数据

    我通过 OleDB 在表中插入几行 并立即选择插入的行 我无法以这种方式检索行 我必须等待大约 3 5秒 然后插入的行就会出现在表中 我在数据库本身中观察到了这种行为 我通过 OleDB 插入了行并观察了 Access 中打开的表 3 5
  • 不使用 DAO 压缩 Microsoft Access 数据库

    我用CDatabase类开一个ACCDB访问数据库 司机是 T Microsoft Access Driver mdb accdb 我可以打开并使用数据库 已经这样做很多年了 if DatabaseExist m strMDBPath AJ
  • sql查询将两列与一列连接起来

    我在 MS Access 2010 中有 2 个表 如下所示 USERS u id u name LOAN l id l from ref users u id l to ref users u id l amount Users u id
  • 将数据从 python pandas 数据框导出或写入 MS Access 表

    我正在尝试将数据从 python pandas 数据框导出到现有的 MS Access 表 我想用已更新的数据替换 MS Access 表 在 python 中 我尝试使用 pandas to sql 但收到错误消息 我觉得很奇怪 使用 p
  • 使用 split 函数到数组中会导致编译错误:无法分配给数组

    我正在尝试使用split 函数根据给定名称字符串中的空格拆分名称 当尝试编译我在下面编写的代码时 出现编译错误 无法分配给数组 我几乎从这里复制了微软的示例 https support microsoft com en us kb 2662
  • 自动将文本转换为十进制数 - Access

    我正在尝试使用 ODBC 将数据从 MS SQL Server DB 导入到 MS Access 对于大多数数据类型 导入会正确映射类型 但当 SQL Server 列数据类型为十进制数时 MS Access 会将其转换为文本数据类型 因此
  • 拆分 MS Access 数据库并将后端存储在 Sharepoint 中?

    我有一个包含大量 VBA 代码的 MS Access 数据库 如果我创建 Access Web App 我将失去代码提供的功能 有没有什么方法可以将我的数据库表存储在 SharePoint 中 而不是列表中 并将它们链接到前端以保留在每个用

随机推荐

  • $lookup的Foreign字段可以是嵌套文档的字段吗?

    lookup用于对同一数据库中的未分片集合执行左外连接 以从 连接 集合中过滤文档 以便在 Mongo 中进行处理 lookup from
  • 替换文件中间的文本

    I have txt文件 有几行 username1 123456789 etc etc etc etc username2 1234 etc etc etc etc username3 123456 etc etc etc etc use
  • Node js - 加密和解密文件

    我想在客户端加密文件并将其发送到服务器端 解密 但是当我使用内置的 Node js 时crypto我收到错误 客户端 js const crypto require crypto const cipher crypto createCiph
  • 为什么 read() 不能在 open() 函数中使用 'w+' 或 'r+' 模式

    当我使用带有 r 或 w 参数的打开时 它不想读取文本文件 内部文本文档 hello Python 代码示例 code with open file name r as o print o read output hello code wi
  • 安装时npm权限错误

    我正在尝试在我的服务器上安装 yeoman 但由于某种原因 我总是收到权限被拒绝的错误 npm install g yo root node bin yo gt root node lib node modules yo cli js gt
  • 上传多个文件并查询 Firestore DB - ReactJS

    我读了很多这样的帖子如何将多个文件上传到 Firebase 之前关于这个问题 我尝试了不同的选择 但无法得到结果 我正在使用 React Hook Form 来创建一个非常巨大的表单 现在我必须添加更多输入 以上传文件 并且需要帮助立即完成
  • 在 C# 中创建 CSV 文件

    我正在尝试创建一个 csv 文件 其中每个条目均由用户输入 输入一组值后 应继续输入下一组值 然而我似乎无法做到这一点 每次我运行该程序时 它都会替换以前的值 using System using System IO using Syste
  • 如何将 3D Python/NumPy 数组保存为文本文件?

    我必须启动大量计算 并且每次都必须保存 2D 文件文本 因此我想将结果 实时 存储为 3D 文本文件 每个切片对应一个计算结果 第一次计算没问题 但是当我进行第二次计算时 在 np loadtxt 步骤中 数组维度变成了二维 所以我无法达到
  • 带有文本文件的实体框架(没有数据库!)

    我习惯了表单和数据集 但现在我正在尝试 WPF 和实体框架 我的目标是使用实体框架填充 WPF 中的 DataGrid 但是 我没有数据库 我有简单的文本文件 其中包含我必须解析以填充我的实体的数据 但是 我收到诸如 实体类型 TableN
  • 比较 Chrome 和 Firefox 的字体大小问题

    我建立了一个网站 问题是 chrome 显示font size 1px比火狐浏览器还大 我尝试了几种方法来匹配字体大小 以 px 为单位指定 以 为单位将正文设置为 100 然后将元素设置为0 875em 这些都不起作用 它仍然在 Chro
  • “应用程序窗口预计有一个根视图控制器”条件外观

    我正在使用 Xcode 4 5 和 iOS6 为 iPhone 编写一个应用程序 我也在创建一个新的UIWindow能够管理状态栏的区域 在那里显示消息等 我正在使用故事板和我的appDelegate方法如下所示 BOOL applicat
  • 在 PHP 中通过电子邮件验证用户

    我实际上正在使用 PHP 创建一个 Web 应用程序并寻求验证用户的帮助 与某些网站一样 当您注册时 系统会向您发送一封包含确认链接的电子邮件 我如何在 PHP 中实现它 我只知道我必须使用 PHPmail 功能发送电子邮件 请帮忙 必要的
  • 将字符串中单词的每个实例加粗

    我试图将字符串中单词的每个实例加粗 并删除字符串中第一个单词实例之前的所有内容 我在用着str replace and stristr 这样做 但输出不符合预期 该单词的第一个实例之前的所有内容都被切断 但当我回显该字符串时 该单词的实例不
  • 任务之外的异常处理

    刚刚注意到奇怪的事情 要从新任务捕获调用者中的异常 lambda 必须标记为异步 即使 delegate 根本没有await 运算符 这真的有必要吗 try Task Run gt exception is not caught Task
  • 检查查询字符串 (PHP)

    例如 我使用查询字符串test php var 1 我如何检查用户之后是否输入任何内容 例如另一个字符串 如果我的后面有任何其他字符串 查询字符串 我尝试重定向到index phpvar请求参数 可以检查这个吗 例如 test php va
  • HTML5 / CSS3 带有部分边框的圆形

    是否可以仅使用 HTML5 CSS3 创建一个圆形 其边框仅围绕圆形一部分 如果没有 我可以使用什么技术来实现这种效果 我更喜欢使用纯 DOM 元素 但如果必须的话 我可以在画布上绘图或旋转 SVG 2023年解决方案 这个方法不需要 JS
  • 如何在 C# 中测试 COM 相关对象

    我正在尝试使用依赖于 COM 接口的对象进行 TDD 我考虑在进行开发测试时模拟 COM 接口 并在集成测试中真正做到这一点 但是 我无法模拟 COM 接口 我尝试使用 Moq 它引发了异常 System TypeLoadException
  • 获取 UINavigationController 向后滑动的进度

    我有两个viewControllers 两者都是UINavigationController From View1我可以点击UITableViewCell并前往View2 from View2我可以滑动返回View1 我想知道如何才能获得此
  • 在 iOS 7 导航栏下添加视图的最佳方法是什么

    在 ios7 上 许多应用程序 Apple Messages Facebook Messenger Calendar 的视图出现在 UINavigationBar 下 通常带有看似标准的动画 因为它看起来很标准并且看起来很像 UIToolB
  • Access2010 中的数据宏:触发器?

    我听说即将推出的 Access2010 具有数据宏功能 该功能将首次向 Access 数据引擎表添加类似触发器的功能 有人有这方面的进一步细节吗 例如 它们可以在代码中创建 ACEDAO SQL DDL 等 吗 如果从 Access 用户界