我有以下查询
strfinal =" TRANSFORM格式(Sum([Mandays]。[Hours]),""#0.0"")AS [The Value] 选择 Mandays.WorkTypeCode AS WONo, 格式(总和([校长]。[小时]),"" 0000.0"")AS总计 来自Mandays GROUP BY Mandays.WorkTypeCode PIVOT UCase([Ent By]); "
查询返回2048条以上的记录,然后无法在VB6中显示MSHFLexGrid(Limit为2048)。 如何更改查询以便必须提取前2000条记录?
答案 0 :(得分:0)
最有效的方法是这样做:
CurrentDB.CreateQueryDef("tmpQuery", "SELECT Top 2000 * FROM Mandays")
strfinal = "TRANSFORM Format(Sum([tmpQuery].[Hours]),""#0.0"") AS [The Value]
SELECT tmpQuery.WorkTypeCode AS WONo, Format(Sum([tmpQuery].[Hours]),""0000.0"") AS
Total FROM tmpQuery GROUP BY tmpQuery.WorkTypeCode PIVOT UCase([Ent By]); "
你可以放置" Top 2000"在当前代码中的SELECT语句之后,但在另一个查询中执行它将会加快速度。
如果您愿意,还可以在CreateQueryDef中放置ORDER BY语句,以便控制使用哪些2000条记录。