有没有办法在表达式中将 Access 2010 中的备注字段转换为文本字段?

有没有办法在表达式中将 Access 2010 中的备注字段转换为文本字段?

我有两个表(每个都在 Access DB 中)——称为 LinkedTable1 和 LinkedTable2,链接到我的工作 Access 数据库。我从 SharePoint 网站下载它们后将它们放在我的计算机上(操作 -> 使用 Access 打开)。

LinkedTable1 和 LinkedTable2 中各有一个包含 GUID 的备注字段。此 GUID 链接两个表。

我想在查询中使用这些 GUID,但是当我尝试在查询设计中将它们加入时,我被告知无法加入备注字段。

我尝试创建一个表达式将该字段转换为文本字段:

GUID_Text: CStr( Left$( [LinkedTable1]![GUID_Memo], 255 ) )

我还尝试将该字段转换为 GUID:

GUID: GUIDFromString( [LinkedTable1]![GUID_Memo] )

我在每个链接表上都执行了此操作。两次,当我尝试执行查询时,都收到类型不匹配错误。

有什么办法可以解决这个问题吗?

答案1

我能够通过为每个表创建一个保存的查询来执行 JOIN,将备注字段转换为文本,然后 JOIN查询. 测试数据见[表1]

ID  GUID_Memo                               Description
--  --------------------------------------  -----------
1   {453EE643-BFE5-4D8B-B9F1-2B66C71E609A}  Table1: foo
2   {80BC2B94-7AC2-4956-959B-E8B624F06502}  Table1: bar

和[表2]

ID  GUID_Memo                               Description
--  --------------------------------------  -----------
6   {453EE643-BFE5-4D8B-B9F1-2B66C71E609A}  Table2: foo
7   {80BC2B94-7AC2-4956-959B-E8B624F06502}  Table2: bar

其中 [GUID_Memo] 为真Memo字段,保存的查询 [Query1]

SELECT Left([GUID_Memo],100) AS GUID_Text, Table1.Description
FROM Table1;

和 [查询2]

SELECT Left([GUID_Memo],100) AS GUID_Text, Table2.Description
FROM Table2;

当结合在一起时

SELECT 
    Query1.GUID_Text, 
    Query1.Description AS Description1, 
    Query2.Description AS Description2
FROM 
    Query1 
    INNER JOIN 
    Query2 
        ON Query1.GUID_Text = Query2.GUID_Text;

结果是

GUID_Text                               Description1  Description2
--------------------------------------  ------------  ------------
{453EE643-BFE5-4D8B-B9F1-2B66C71E609A}  Table1: foo   Table2: foo
{80BC2B94-7AC2-4956-959B-E8B624F06502}  Table1: bar   Table2: bar

相关内容