Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 如何在access查询中将access备注字段转换为文本字段?_Ms Access - Fatal编程技术网

Ms access 如何在access查询中将access备注字段转换为文本字段?

Ms access 如何在access查询中将access备注字段转换为文本字段?,ms-access,Ms Access,我发现: SELECT [PartsInfoRaw].[Types] as memofield, Replace([PartsInfoRaw].[Types],"","") AS textfield into newTable FROM [PartsInfoRaw]; 其中Types是PartsInfoRaw中包含一些描述的Memo字段。出于某种原因,replace会将memo字段转换为textfield。但它感觉很粗糙,我不确定它是否可以 变酸了。有谁有更好的主意吗?您有没有在[Types]

我发现:

SELECT [PartsInfoRaw].[Types] as memofield, Replace([PartsInfoRaw].[Types],"","") AS textfield
into newTable FROM [PartsInfoRaw];
其中Types是PartsInfoRaw中包含一些描述的Memo字段。出于某种原因,replace会将memo字段转换为textfield。但它感觉很粗糙,我不确定它是否可以
变酸了。有谁有更好的主意吗?

您有没有在[Types]记录上测试过这一点,其中replace函数将返回超过255个字符?您会发现一些[textfield]数据被截断

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

我不知道为什么必须使用select into,因为它比创建一个表、删除所有记录然后追加新数据更容易

首先尝试创建所需的结果表,以便确保两个字段都是memo类型。然后将查询转换为追加(插入)查询。如果只希望在newTable表中显示此查询的结果,则必须首先运行Delete查询

delete from newTable;
您的查询作为附加:

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

您是否在[Types]记录上测试过这个问题,其中replace函数将返回超过255个字符?您会发现一些[textfield]数据被截断

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

我不知道为什么必须使用select into,因为它比创建一个表、删除所有记录然后追加新数据更容易

首先尝试创建所需的结果表,以便确保两个字段都是memo类型。然后将查询转换为追加(插入)查询。如果只希望在newTable表中显示此查询的结果,则必须首先运行Delete查询

delete from newTable;
您的查询作为附加:

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

我不清楚您想要完成什么,但您是否尝试在选择中保留([MemoField],255)?

我不清楚您想要完成什么,但您是否尝试在选择中保留([MemoField],255)?

为什么您认为需要区分作为备注或文本返回的字段?是因为您正在运行MakeTable查询吗?如果是这样,那很可能是您的问题——MakeTable查询不属于生产应用程序。它们对于快速和肮脏的目的很有用,也可以用于创建一个临时表,然后可以重复使用,但您不需要在生产应用程序中定期这样做。如果重复使用相同的临时表,则可以将每个字段的数据类型设置为您喜欢的任何类型。为什么您认为需要区分作为备注或文本返回的字段?是因为您正在运行MakeTable查询吗?如果是这样,那很可能是您的问题——MakeTable查询不属于生产应用程序。它们对于快速和肮脏的目的很有用,也可以用于创建一个临时表,然后可以重复使用,但您不需要在生产应用程序中定期这样做。如果重复使用相同的临时表,则可以将每个字段的数据类型设置为您喜欢的任何类型。