抑制 Access VBA 中的写入冲突消息

2024-04-15

我的问题。

我编写了一个存储过程来计算通过 Ms Access 前端(到 MSSQL2000 数据库)上的表单呈现的多个字段。

我一打电话表格重新查询获取更改后的值。我可以看到我引起了写冲突的恼人消息。

自您开始编辑以来,该记录已被其他用户更改。如果您保存记录,您将覆盖其他用户所做的更改。 将更改复制到剪贴板将使您可以查看其他用户输入的值, 如果您决定进行更改,则将更改粘贴回原处。

我知道是我更改了数据,因此我想抑制该消息或防止该消息发生。


(我想我应该把我的评论放在帖子中,因为我实际上是在回答这个问题)

您收到写入冲突消息的原因是因为您通过表单和存储过程编辑记录而创建了写入冲突。为了避免该错误,只需在执行存储过程之前将记录保存在表单中即可。从上面发布的代码片段来看,它应该是:

Me.Dirty = False
cmd.Execute , , adCmdStoredProc

这是一个常见的 Access 错误,是由于尝试通过绑定表单和直接 SQL 更新来编辑数据而导致的。在通过 SQL 更新同一记录之前,您需要保存表单的编辑缓冲区。

换句话说,您应该庆幸错误消息的出现,否则您将丢失其中一项或另一项更改。

不过,我对设计提出质疑。如果您以绑定表单打开记录,则对表单中加载的数据进行编辑,而不是运行 SQL 来更新它。我不知道为什么你需要一个存储过程来更改你已经在表单中编辑的记录——这对我来说听起来像是一个设计错误(即使解决方案非常简单)。

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

抑制 Access VBA 中的写入冲突消息 的相关文章

  • 将十六进制字符串转换为无符号整数 (VBA)

    在 MS ACCESS VBA 中 我通过在字符串前加上 前缀将十六进制字符串转换为十进制 CLng h1234 4660 CLng h80000000 2147483648 我应该怎么做才能将其转换为无符号整数 使用 CDbl 也不起作用
  • 自动将不同的 Excel 文件导入 MS Access 2010 表

    我想将所有 Excel 文件 具有不同的数据和列 从某个目录导入到 MS Access 2010 数据库中 为每个文件创建新表 我找到了将文件导入到一张表中的代码 Option Compare Database Option Explici
  • 如何将查询结果放入文本字​​段?

    我正在创建一个会计数据库 对于财务结果 我的表 单有一个文本字段 Previous Solde 其中显示了前几个月的销售情况 确切的金额是通过以下查询计算出来的 SELECT sq Argenta Prep Vorig Saldo Acco
  • 将文件拖放到 Microsoft Access 中

    我在 Microsoft Access 中有一个表单 允许用户将附件上传到每条记录 我想通过让用户将文件拖放到附件字段中来使其更加用户友好 执行此操作的最佳方法是什么 我该如何执行此操作 以下是拖放 附加 文件以便与 MS Access 一
  • VBA 中的查找和查找下一个

    我正在研究 Excel 宏 当我从另一个 Excel 工作表获取数据时 我需要什么 代码应该首先检查是否有任何其他行具有相同的 FundName 如果找到 则条件适用 我只是给出要检查 FundId 的 Excel 工作表示例 S No F
  • MS Access 2007 中 NVL 功能的替代方法是什么

    我在 MS Access 中编写了一个 SQL 查询 select NVL count re rule status 0 from validation result re validation rules ru where re cycl
  • Access 2003中可以制作存储过程或函数吗?

    在Access 2003中 我们可以创建存储过程或函数吗 对于 Access 2003 答案是否定的 Access 2010 确实有表触发器和存储过程 这些是真正的引擎级例程 作为行更新的结果运行 因此 导致行修改的表单或 VBA 记录集代
  • 如何获取Access数据库中已更改的记录详细信息

    我有一个 Access 数据库 其中有许多表和数千条记录 如果有人更改其中的任何数据 任何行 甚至只是一个单元格 有什么方法可以知道哪些特定行或单元格已更改Access 数据库 任何属性或者我应该使用任何触发器吗 几年前我在使用 MSSQL
  • 在哪里放置 Access vba 代码以仅在物理打印时触发?

    我有一些代码想要在用户实际打印报告时触发 不是在打印预览等时 而是仅在发送到打印机时 用户需要能够提取报告并查看它 然后如果他们决定打印 VBA 代码将接管并将一些信息写入与用于生成报告的表不同的表中 我希望不必在实际报告上放置 打印 按钮
  • 查询计算不同值的数量?

    我在 MS Access 2003 中有一个表 如下所示 url id example com red example com blue example com blue other com red other com orange mor
  • 更新 SQL MS Access 2010

    这已经让我绞尽脑汁了 4 个小时了 我有一个名为 BreakSked 的表 我使用此按钮来使用此 sql 更新表的休息结束时间 strSQL1 UPDATE BreakSked SET BreakSked EndTime Me Text41
  • 使用 powershell 在 MS-Access 中创建查询

    我需要自动从 Microsoft Access DB 中提取一些数据 数据库是由第三方提供给我的 因此我无法控制收到数据库时的内容 我需要使用 Powershell 自动从数据库中提取数据 有没有办法使用powershell在accessD
  • 查询不可更新

    我正在尝试使用 BE SQL Server 2012 Express 中的记录更新本地 Access 2007 表 我的步骤在这里 SQL Server中存在带有4个参数的存储过程来获取所需的记录 Access VBA中有调用SP并进行临时
  • #DELETE 在 Access 中查看 SQL Server 表

    今天早上又出现了一个新问题 我的数据库驻留在 SQL Server 上 并使用 Access 作为前端 其中一个已经使用了至少 10 年的数据库今天突然停止工作 我发现这个问题影响了 2 个 可能更多 我没有检查所有 表 当我在访问中打开表
  • 在函数上使用子例程的目的

    我已经使用 Access 一段时间了 尽管我了解 Function 相对于 Sub 的明显好处是它可以返回值 但我不确定为什么我应该使用 Sub 而不是一个函数 毕竟 除非我弄错了 函数可以做所有 Subs 可以做的事情吗 注意 我完全知道
  • Access SQL 查询:查找表中每个不同条目的最新日期行

    All 我确信这是一个非常简单的 SQL 查询问题 但我确信有一个很好的方法 也有一个非常糟糕的方法来做到这一点 如果由我自己决定 我很可能会得到后者 所以 我在 Access 中有一个表 其中的数据如下所示 ID Value As of
  • 自定义函数错误:“表达式不能在计算列中使用”

    在 Access 2010 中 我尝试在计算列中使用自定义 VBA 函数 我得到 表达式不能在计算列中使用 这是我的步骤 启动 Access 2010 创建一个新的数据库 DB 创建一个包含文本列 Column1 的表 Table1 在 C
  • MS Access:在列中搜索星号/星号

    我正在寻找一种方法来搜索包含字符串数据类型的列 问题是星号或星号是保留符号 以下查询无法正常工作 select from users where instr pattern 如何编写 Access 查询来搜索列中的星号 您可以使用方括号在
  • 如何在 C# 中使用窗口窗体创建动态下拉列表

    我正在尝试为朋友的手机商店构建一个简单的库存程序 我想使用C 并访问数据库来存储数据 DB 将有 2 个主要列表 devices 品牌 型号 颜色 价格 库存 最小库存 parts 品牌 型号 描述 库存 最小库存 GUI 将使用多个下拉列
  • MS Access 执行 POST Web 请求

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

随机推荐