<>请教各位大虾,该段代码有什么错误,为什么我一运行,就说transfom语法错误.谢谢</P>
<>rivate Sub Command9_Click()<BR>On Error GoTo Err_Command9_Click<BR> Me.客户经理级别.Requery<BR> <BR> Dim strWhere As String '定义条件字符串<BR> Dim qdf As DAO.QueryDef 'qdf被定义为一个查询定义对象<BR> Dim strSQL As String<BR> <BR> strWhere = "" '设定初始值-空字符串<BR> <BR> '判断【季度】条件是否有输入的值<BR> If Not IsNull(Me.季度) Then<BR> '有输入<BR> strWhere = strWhere & "([季度] like '" & Me.季度 & "') AND "<BR> End If<BR> <BR> '判断【客户经理级别】条件是否有输入的值<BR> If Not IsNull(Me.Combo12) Then<BR> '有输入<BR> strWhere = strWhere & "([Combo12] like '" & Me.Combo12 & "') AND "<BR> End If<BR> <BR> '判断【部门】条件是否有输入的值<BR> If Not IsNull(Me.Combo31) Then<BR> '有输入<BR> strWhere = strWhere & "([Combo31] like '" & Me.Combo31 & "') AND "<BR> End If<BR> <BR> '如果输入了条件,那么strWhere的最后肯定有" AND ",这是我们不需要的,<BR> '要用LEFT函数截掉这5个字符。<BR> If Len(strWhere) > 0 Then<BR> '有输入条件<BR> strWhere = Left(strWhere, Len(strWhere) - 5)<BR> End If<BR> <BR> '先在立即窗口显示一下strWhere的值,代码调试完成后可以取消下一句<BR> 'Debug.Print strWhere<BR> <BR> '根据是否有条件来设定交叉表查询的SQL语句<BR> If Len(strWhere) > 0 Then<BR> strSQL = "TRANSFORM Count(*) AS 计数 SELECT 客户经理级别计数初表.考核季度, 客户经理级别计数初表.部门之最后一条记录 FROM 客户经理级别计数初表"<BR> strSQL = strSQL & "WHERE(" & strWhere<BR> strSQL = strSQL & ") GROUP BY 客户经理级别计数初表.考核季度, 客户经理级别计数初表.部门之最后一条记录 PIVOT 客户经理级别计数初表.级别"<BR> <BR> Else<BR> strSQL = "TRANSFORM Count(*) AS 计数 SELECT 客户经理级别计数初表.考核季度, 客户经理级别计数初表.部门之最后一条记录 FROM 客户经理级别计数初表 GROUP BY 客户经理级别计数初表.考核季度, 客户经理级别计数初表.部门之最后一条记录 PIVOT 客户经理级别计数初表.级别"<BR> End If<BR> <BR> Set qdf = CurrentDb.QueryDefs("客户经理级别计数")<BR> qdf.SQL = strSQL<BR> qdf.Close<BR> <BR> Set qdf = Nothing<BR> <BR> <BR> '显示交叉表的内容,不能直接刷新<BR> Me.客户经理计数子窗体.SourceObject = ""<BR> Me.客户经理计数子窗体.SourceObject = "查询.客户经理级别计数"<BR> <BR> <BR> <BR>Exit_Command9_Click:<BR> Exit Sub</P>
<P>Err_Command9_Click:<BR> MsgBox Err.Description<BR> Resume Exit_Command9_Click<BR> <BR>End Sub</P>