上网查了一下再修改,还是不行。
窗体中有“产品编号”、“进仓日期开始”、“进仓日期结束”三个查询文本框,我现时代码如下:
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
但查询不能有效运行,请指点一下代码中的问题。
点击下载此附件