Access交流中心

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

交叉表如何设定查询条件?(用窗体输入条件)

施巍巍  发表于:2016-06-04 10:27:55  
复制

最近在研究交叉表

但交叉表又是先创造出另一个查询,然后再进行交叉查询,这样子学生我就做不来了:如何用窗体输入条件查询了!

求帮助!

附上我个人的想法:

开始的查询:

SELECT 监察立案登记表.监察ID, 监察立案登记表.立案时间, 立案事由表.违法行为, 企业信息表.行业ID, 监察立案登记表.案件来源, 监察处理表.结案时间
FROM 监察处理表 INNER JOIN ((监察立案登记表 INNER JOIN 企业信息表 ON 监察立案登记表.企业ID = 企业信息表.企业ID) INNER JOIN 立案事由表 ON 监察立案登记表.案由ID = 立案事由表.案由ID) ON 监察处理表.监察ID = 监察立案登记表.监察ID
WHERE (((监察处理表.结案时间) Is Not Null));

交叉表查询:

TRANSFORM Count(监察执法情况查询.监察ID) AS 监察ID之计数
SELECT 监察执法情况查询.行业ID, Count(监察执法情况查询.监察ID) AS [总计 监察ID]
FROM 监察执法情况查询
GROUP BY 监察执法情况查询.行业ID
PIVOT 监察执法情况查询.违法行为;


那么在查询按钮的代码改如何写呢?


如何用把“(监察处理表.结案时间) Is Not Null”替换成“(监察处理表.结案时间)>=#" & Format(Me.结案时间开始, "yyyy-mm-dd") & "#”呢?


 

Top
缪炜 发表于:2016-06-04 13:02:22
strSQL="TRANSFORM Count(监察执法情况查询.监察ID) AS 监察ID之计数 " _
& " SELECT 监察执法情况查询.行业ID, Count(监察执法情况查询.监察ID) AS [总计 监察ID] " _
& " FROM 监察执法情况查询 where  (监察处理表.结案时间)>=#" & Format(Me.结案时间开始, "yyyy-mm-dd") & "# " _
& " GROUP BY 监察执法情况查询.行业ID  PIVOT 监察执法情况查询.违法行为;"


施巍巍 发表于:2016-06-04 14:00:05

谢谢老师,解决了!

Private Sub cmd查询_Click()
Dim strSQL As String
Dim qN As QueryDef

If IsNull(Me.结案时间) Then
  Exit Sub
Else
  Set qN = CurrentDb.QueryDefs("监察执法情况计数查询") '将需要的查询赋值给qn
  strSQL = "TRANSFORM Count(监察执法情况查询.监察ID) AS 监察ID之计数 " _
           & " SELECT 监察执法情况查询.行业ID, Count(监察执法情况查询.监察ID) AS [总计 监察ID] " _
           & " FROM 监察执法情况查询 where  (监察处理表.结案时间)>=#" & Format(Me.结案时间, "yyyy-mm-dd") & "# " _
           & " GROUP BY 监察执法情况查询.行业ID  PIVOT 监察执法情况查询.违法行为;"
  qN.SQL = strSQL
  Set qN = Nothing '释放qn 
  Me.监察执法情况计数子窗体.Requery
End If
End Sub



总记录:2篇  页次:1/1 9 1 :