设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2437|回复: 3
打印 上一主题 下一主题

[模块/函数] 用有条件的交叉表查询制作报表代码出错(已解决)

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2013-3-11 09:04:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wang1950317 于 2013-3-11 16:54 编辑

'使用论坛老师的一个实例,用一个交叉表查询为源制作一个报表,当在查询中添加一个条件后代码需要改动,请各位老师指教。谢谢!
'查询1名称:test2_交叉表1
TRANSFORM Last(test2.数量) AS 数量之最后一条记录
SELECT test2.编号
FROM test2
GROUP BY test2.编号
PIVOT test2.项目;
*******************
Private Sub Report_Open(Cancel As Integer)
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim A, B, C
Set cn = CurrentProject.Connection
Set rs = New ADODB.Recordset
rs.Open "select * from test2_交叉表1", cn, adOpenKeyset, adLockPessimistic  '取得来源记录集
If rs.Fields.Count > 11 Then A = 11 Else: A = rs.Fields.Count       '假设记录集栏位大于11列,则a=11、否则a=记录集栏位数
If rs.Fields.Count = 0 Then Exit Sub
For B = 0 To A - 1
    Me("N" & B).ControlSource = rs(B).Name
Next
Me.RecordSource = rs.Source
For C = 0 To A - 1
    Me("L" & C).Caption = rs(C).Name
Next
End Sub
*****************************************88
'上面代码是用查询1制作一个报表(有11列),没有问题。但在查询中加入一个条件,制作报表就提示有问题:
***************************

'查询2:test2_交叉表1     添加了一个查询条件,打开报表提示:至少一个参数没有指定值
*****************
PARAMETERS [forms]![窗体1]![编号] Text ( 255 );
TRANSFORM Last(test2.数量) AS 数量之最后一条记录
SELECT test2.编号
FROM test2
WHERE (((test2.编号)=[forms]![窗体1]![编号]))
GROUP BY test2.编号
PIVOT test2.项目;
***************

rs.Open "select * from test2_交叉表2", cn, adOpenKeyset, adLockPessimistic  '这一句提示:至少一个参数没有指定值
请看附件,这一句该怎样改动?谢谢!
  
一不小心,竟然上传了三个,编辑中找不到删除按钮,抱歉!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2013-3-11 13:30:00 | 只看该作者
默认情况下,交叉表查询的条件会增加一个parameter参数,因此需要重新修正SQL语句。详细请参考附件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点击这里给我发消息

3#
 楼主| 发表于 2013-3-11 16:43:13 | 只看该作者
啊啊,非常好!谢谢roych 老师。
不过不太懂,慢慢学习了。
4#
发表于 2013-3-12 08:32:27 | 只看该作者
{:soso_e181:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 01:32 , Processed in 0.111400 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表