2013-03-20 82 views
0

我有这个疑问在Access:访问SQL /查询在25个字符处截断了字段?

SELECT a.title, a.init, a.name, l.User AS CreatedBy, 
    IIf(IsNull(l.Time),Null,DateAdd("s",l.Time,#3/1/1980#)) AS CreatedAt 
    FROM (Reports AS a LEFT JOIN 
    (SELECT id, Min([time]) AS Mintime FROM AuditLog GROUP BY id) AS t 
    ON a.id = t.id) 
    LEFT JOIN AuditLog AS l ON (t.mintime = l.time) AND (t.id = l.id) 
    WHERE (((a.name) Like 'start*') AND ((a.Active)='Y')); 

但由于某些原因a.name在25个字符被截断上每个结果的查询。为什么是这样?在表Reports这是正确的,并显示全名(25+字符长)。

+0

您确定您的意思是25而不是255? – Fionnuala 2013-03-20 15:39:56

+0

@Remou我知道对不对?这是25,我很困惑。 – JBurace 2013-03-20 15:52:07

回答

0

我有两个相似的名称字段,我误读了一个,它确实在实际的表中被截断。

0

这可能是由于a.name字段的大小造成的。如果该字段设置为varchar(25),则只允许25个字符。

-Edit-同时检查将数据插入该字段的任何过程,查询或外部来源。它可能是一个错误配置的参数。

+0

表中的a.name是'字段大小:255,数据类型:文本' – JBurace 2013-03-20 15:52:51

+0

将数据插入该字段的参数大小是多少?也许他们是一个程序或其他截断数据的东西? – 2013-03-20 15:57:48

0

请检查表a中name属性的字段长度。 它必须超过您存储的名称。 我认为你的名字长度比字段长度大。