![有没有办法在表达式中将 Access 2010 中的备注字段转换为文本字段?](https://linux22.com/image/1357953/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%9C%A8%E8%A1%A8%E8%BE%BE%E5%BC%8F%E4%B8%AD%E5%B0%86%20Access%202010%20%E4%B8%AD%E7%9A%84%E5%A4%87%E6%B3%A8%E5%AD%97%E6%AE%B5%E8%BD%AC%E6%8D%A2%E4%B8%BA%E6%96%87%E6%9C%AC%E5%AD%97%E6%AE%B5%EF%BC%9F.png)
我有两个表(每个都在 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