Access交流中心

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

交叉查询表中增加字段后,窗体查询代码如何修改?

Lee  发表于:2010-06-29 21:18:52  
复制

我在原交叉查询表内增加了:“计量单位”和“总计进仓数量”(对查询日期内同种产品的进仓数量进行汇总)两字段,请问窗体查询代码要如何修改,有劳指教。我现时查询代码是:


Private Sub 入库查询_Click()

Dim strWhere As String
 Dim qdf As DAO.QueryDef
 Dim strSQL As String

strWhere = ""
If Not IsNull(Me.产品编号) Then
strWhere = strWhere & "([产品编号] like '*" & Me.产品编号 & "*') AND "
    End If
    If Not IsNull(Me.进仓日期开始) Then
strWhere = strWhere & "([进仓日期] >= #" & Format(Me.进仓日期开始, "yyyy-mm-dd") & "#) AND "
    End If
If Not IsNull(Me.进仓日期结束) Then
strWhere = strWhere & "([进仓日期] <= #" & Format(Me.进仓日期结束, "yyyy-mm-dd") & "#) AND "
    End If
If Len(strWhere) > 0 Then
strWhere = Left(strWhere, Len(strWhere) - 5)
    End If

If Len(strWhere) > 0 Then
strSQL = "TRANSFORM Sum(每日入库查询.进仓数量) AS 进仓数量之Sum SELECT 每日入库查询.产品编号 FROM 每日入库查询 "
strSQL = strSQL & "WHERE(" & strWhere
strSQL = strSQL & ") GROUP BY 每日入库查询.产品编号 PIVOT Format([进仓日期],'yyyy-mm-dd')"
 Else
 strSQL = "TRANSFORM Sum(每日入库查询.进仓数量) AS 进仓数量之Sum" & _
" SELECT 每日入库查询.产品编号" & _
 " FROM 每日入库查询" & _
" GROUP BY 每日入库查询.产品编号" & _
" PIVOT Format([进仓日期],'yyyy-mm-dd')"
    End If

Set qdf = CurrentDb.QueryDefs("入库交叉表查询")
    qdf.SQL = strSQL
    qdf.Close
   
    Set qdf = Nothing

Me.入库交叉表查询子窗体.SourceObject = ""
Me.入库交叉表查询子窗体.SourceObject = "查询.入库交叉表查询"

End Sub
Private Sub 入库清除_Click()
Dim strWhere As String
 Dim qdf As DAO.QueryDef
 Dim strSQL As String

Me.产品编号 = Null
Me.进仓日期开始 = Null
Me.进仓日期结束 = Null
strWhere = ""
 strSQL = "TRANSFORM Sum(每日入库查询.进仓数量) AS 进仓数量之Sum" & _
" SELECT 每日入库查询.产品编号" & _
 " FROM 每日入库查询" & _
" GROUP BY 每日入库查询.产品编号" & _
" PIVOT Format([进仓日期],'yyyy-mm-dd')"
   

Set qdf = CurrentDb.QueryDefs("入库交叉表查询")
    qdf.SQL = strSQL
    qdf.Close
   
    Set qdf = Nothing

Me.入库交叉表查询子窗体.SourceObject = ""
Me.入库交叉表查询子窗体.SourceObject = "查询.入库交叉表查询"
Me.入库交叉表查询子窗体.Requery
End Sub

 

点击下载此附件

 

Top
Lee 发表于:2010-07-03 00:01:02
有熟悉代码的朋友能帮帮忙吗?

wang decheng 发表于:2010-07-12 13:42:10

点击下载此附件

 

我是来炒冷饭的。

楼主的问题我在网上搜索答案,并有了初步进展。点击交叉表查询窗体,有合计;或者清空文本框也有合计。但是文本框输入内容后显示错误。

我基本确定VBA语句没有错误,但我本人已无法更进一步。望各位高手作答。



Lee 发表于:2010-07-12 21:25:46

炒冷饭也好,一样感谢您,只少给我指引了方向。我对VB语句一点都不熟悉,以上语句都是我在别人提示基础上一点一点写的,增加汇总字段后就不知如何着手了。

Wang先生可能误解了汇总字段意思了,我是想对每种产品查询期内的进仓数量进行汇总,不是每天不同产品进仓数的汇总。

我原来查询表:

 

 

增加“计量单位”和“进仓数量汇总”字段后的查询表

 

不知这样难道是不是降低了呢?

 

 

 

 

 

 

 

 

 

 

 

 



wang decheng 发表于:2010-07-13 09:47:23

点击下载此附件

 

 

如楼主所说,岂不是太简单了?每天不同产品的合计数要难多啦



Lee 发表于:2010-10-09 09:27:09

这个示例对你不知有无帮助。

 

点击下载此附件

Lee 发表于:2010-10-09 09:31:29
发错了。

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