删除带有长文本的宏后

After Delete Macro with Long Text

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

我也有一个 table LABELS_HISTORY 具有相同的列。

我在 LABELS 上创建了 After Delete 宏,它使用从 LABELS 中删除的记录的值在 LABELS_HISTORY 中创建了一条新记录。

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

宏的外观如下:(我无法嵌入图片 - 新手)

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

如果不想打开link:

标签:删除后: 在 LABELS_HISTORY

中创建记录

设置字段

         Name      Description

         Value   = [Old].[CODE]

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

访问 2016

长文本值无法通过 [Old]. 获得。据我所知没有work-around

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

The '[Old].[DESCRIPTION]' value is not available because the field is of type memo, rich text, hyperlink, or OLE Object.

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

您还可以在 MS SQL 服务器中看到此行为,其中 TextNText[=27= 类型字段的先前值] 在触发器中也不可用。

一条建议:始终在更改 table 中记录 当前 值,而不是 上一个 值。这样,您始终拥有每条记录的完整历史记录,并且您不会 运行 因这些事情而陷入麻烦。