删除带有长文本的宏后

Posted

技术标签:

【中文标题】删除带有长文本的宏后【英文标题】:After Delete Macro with Long Text 【发布时间】:2018-03-29 07:23:53 【问题描述】:

我有一个表 LABELS,其中包含 CODE(短文本)、VALUE(短文本)和DESCRIPTION(长文本)列。

我还有一个包含相同列的表 LABELS_HISTORY。

我在 LABELS 上创建了 After Delete 宏,它在 LABELS_HISTORY 中创建一条新记录,其中包含 LABELS 中已删除记录的值。

如果我只将它用于 CODE 和 VALUE(它们是短文本),它可以正常工作。但是,如果我尝试也复制DESCRIPTION,它不起作用(没有错误,只是没有在LABELS_HISTORY中创建记录)。

这是宏的样子:(我无法嵌入图像 - 新手)

https://i.stack.imgur.com/igKlh.png

如果您不想打开链接:

标签:删除后: 在 LABELS_HISTORY 中创建记录

设置字段

         Name      Description

         Value   = [Old].[CODE]

它适用于短文本字段。唯一的问题是长文本。

访问 2016

【问题讨论】:

请使用imgur上传图片,最好使用内置工具 我需要 10 个声望才能添加图片 :( 您仍然可以使用内置工具上传图片... 哦,谢谢。我上传了它并添加了链接i.stack.imgur.com/igKlh.png 【参考方案1】:

无法通过[Old]. 获得长文本值。据我所知,没有变通办法。

这确实会产生错误。在您的 USyApplicationLog 表中,应该记录一个错误,其描述如下:

“[Old].[DESCRIPTION]”值不可用,因为该字段的类型为备忘录、富文本、超链接或 OLE 对象。

(备忘录是长文本字段的旧名称,因此这些字段不可用)。

您还可以在 MS SQL Server 中看到这种行为,其中 TextNText 类型的字段的先前值在触发器中也不可用。

一条建议:始终将 Current 值记录在您的变更表中,而不是 Previous 值。这样一来,您始终拥有每条记录的完整历史记录,并且不会在这些事情上遇到麻烦。

【讨论】:

以上是关于删除带有长文本的宏后的主要内容,如果未能解决你的问题,请参考以下文章

Python 插入长文本至Oracle

WORD里面的宏禁用怎么解决

微信小程序之文本合成语音朗读及长文本分段播放处理

从 OOwriter 单元格复制文本的宏

在颤动中写长文本时如何制作段落?

iOS text的长文本换行