如何在访问查询中将访问备忘录字段转换为文本字段?

时间:2010-11-17 10:10:02

标签: ms-access

我发现了这个:

SELECT [PartsInfoRaw].[Types] as memofield, Replace([PartsInfoRaw].[Types],"","") AS textfield
into newTable FROM [PartsInfoRaw];

其中Types是PartsInfoRaw中包含一些描述的memofield。由于某种原因,替换会在文本字段中转换memofield。但它感觉很hacky,我不确定它是否可以 变酸了。有没有人有更好的主意?

2 个答案:

答案 0 :(得分:4)

我不清楚你想要完成什么,但是你在SELECT中尝试过Left([MemoField],255)?

答案 1 :(得分:0)

您是否在[类型]记录中对此进行了测试,其中替换函数将返回超过255个字符?你会发现你的一些[textfield]数据被砍掉了。

Replace函数返回一个字符串,因此Access假定文本类型字段是合适的。

我不知道为什么你必须使用select into而不是创建一个表,删除所有记录然后附加新数据。

尝试首先创建您想要的结果表,这样您就可以确保这两个字段都是类型备忘录。然后将您的查询转换为Append(Insert Into)查询。如果您只想在newTable表中使用此查询的结果,则必须先运行Delete查询。

delete from newTable;

您的查询为附加:

Insert into newTable(memofield, textfield)
SELECT [PartsInfoRaw].[Types] as memofield
     , Replace([PartsInfoRaw].[Types],"","") AS textfield
FROM [PartsInfoRaw];