Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

对联合查询子窗体筛选,查询代码哪时出错了?

逐梦蓝天  发表于:2017-03-31 22:06:37  
复制

点击下载此附件   对联合查询子窗体筛选,查询代码哪时出错了?请高人指点!!


Private Sub Command3_Click()
  On Error GoTo Err_cmd查询_Click

    Dim strWhere As String  '定义条件字符串
    Dim qdf1 As DAO.QueryDef    'qdf被定义为一个查询定义对象
     Dim qdf2 As DAO.QueryDef    'qdf被定义为一个查询定义对象
      Dim qdf3 As DAO.QueryDef    'qdf被定义为一个查询定义对象
      
    Dim strSQL1 As String
    Dim strSQl2 As String
    Dim strSQl3 As String

    strWhere = ""    '设定初始值-空字符串

    If Not IsNull(Me.年份) Then
              strWhere = strWhere & "(查询1.[日期年] = " & Me.年份 & ") AND "
    End If
   '
    If Len(strWhere) > 0 Then
        strWhere = Left(strWhere, Len(strWhere) - 5)
    End If
    If Len(strWhere) > 0 Then
        strSQL1 = "TRANSFORM Sum(查询1.金额) AS 金额之合计 SELECT 查询1.名称, Sum(查询1.金额) AS [总计 金额] FROM 查询1 "
        strSQL1 = strSQL1 & "WHERE(" & strWhere
        strSQL1 = strSQL1 & ") GROUP BY 查询1.名称 PIVOT Format([日期],'yyyy-mm')"

        strSQl2 = "TRANSFORM Sum(查询1.金额) AS 金额之合计 SELECT '总合计' AS 汇总, Sum(查询1.金额) AS [总计 金额] FROM 查询1"
        strSQl2 = strSQl2 & "WHERE(" & strWhere
        strSQl2 = strSQl2 & ") GROUP BY '总合计'PIVOT Format([日期],'yyyy-mm')"
        strSQl3 = "SELECT 查询1_交叉表.* FROM 查询1_交叉表 UNION SELECT 查询2.*  FROM 查询2"

    Else
         strSQL1 = "TRANSFORM Sum(查询1.金额) AS 金额之合计 SELECT 查询1.名称, Sum(查询1.金额) AS [总计 金额] FROM 查询1 GROUP BY 查询1.名称 PIVOT Format([日期],'yyyy-mm')"
        strSQl2 = "TRANSFORM Sum(查询1.金额) AS 金额之合计 SELECT '总合计' AS 汇总, Sum(查询1.金额) AS [总计 金额] FROM 查询1 GROUP BY '总合计'PIVOT Format([日期],'yyyy-mm')"
        strSQl3 = "SELECT 查询1_交叉表.* FROM 查询1_交叉表 UNION SELECT 查询2.*  FROM 查询2"
    End If

    Set qdf1 = CurrentDb.QueryDefs("查询1_交叉表")
    qdf1.SQL = strSQL1
    qdf1.Close

     Set qdf2 = CurrentDb.QueryDefs("查询2")
     qdf2.SQL = strSQl2
    qdf2.Close

      Set qdf3 = CurrentDb.QueryDefs("查询3")
     qdf3.SQL = strSQl3
     qdf3.Close
 
    Set qdf3 = Nothing

    Me.查询3子窗体.SourceObject = ""
    Me.查询3子窗体.SourceObject = "查询.查询3"
   
Exit_cmd查询_Click:
    Exit Sub
Err_cmd查询_Click:
    MsgBox Err.Description
    Resume Exit_cmd查询_Click
End Sub


 

Top
MDZZ 发表于:2017-04-01 12:40:38
总记录:1篇  页次:1/1 9 1 :