设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] 关于命令控件下拉列表的设计需求

[复制链接]
跳转到指定楼层
1#
发表于 2009-6-26 12:17:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jackysu78 于 2009-6-26 12:20 编辑

如附图:子窗体数据源为查询,因实际报价对象的不同,而从标准单价、零售单价、批发单价以及数量中选择不同的组合打印报价单。因本人能力有限,现在的解决方法是根据实际发生的组合分别设计了多个报表格式。
如上虽能解决问题,但是这只是本人的最笨方法,故提出来请各位热心朋友指点思路或者提供学习的实例。
大概目标是:
1、可否以一个命令控件的类似组合框一样的下拉选项代替现如附图似的多个命令控件
2、可否只设计一个报表,再根据需要选择组合选项,然后自动地调整报表格式满足显示需要。

感谢!

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-6-26 12:47:41 | 只看该作者
1# jackysu78


可以用个组合框,用Case来选择操作
参考代码:
Private Sub tx数据来源_Change()
  Select Case tx数据来源
    Case "qy-L发料单列表"
        If Forms("fms-查询列表清单Master").Child.SourceObject <> "fms-L查询列表发料清单" Then '避孕闪屏
            Forms("fms-查询列表清单Master").Child.SourceObject = "fms-L查询列表发料清单"
            Forms("fms-查询列表清单Master").Label1.Caption = "发料单  查询列表清单"
        End If
    Case "qy-L补料单列表"
        If Forms("fms-查询列表清单Master").Child.SourceObject <> "fms-L查询列表补料清单" Then  '避孕闪屏
            Forms("fms-查询列表清单Master").Child.SourceObject = "fms-L查询列表补料清单"
            Forms("fms-查询列表清单Master").Label1.Caption = "补料单  查询列表清单"
        End If
    Case "qy-L入库单列表"
        If Forms("fms-查询列表清单Master").Child.SourceObject <> "fms-L查询列表入库清单" Then  '查询.qy-入库单列表 避孕闪屏
            Forms("fms-查询列表清单Master").Child.SourceObject = "fms-L查询列表入库清单"       '查询.qy-入库单列表
            Forms("fms-查询列表清单Master").Label1.Caption = "入库单  查询列表清单"
        End If
    Case "qy-L领料单列表"
        If Forms("fms-查询列表清单Master").Child.SourceObject <> "fms-L查询列表领料清单" Then  '避孕闪屏
            Forms("fms-查询列表清单Master").Child.SourceObject = "fms-L查询列表领料清单"
            Forms("fms-查询列表清单Master").Label1.Caption = "领料单  查询列表清单"
        End If
    Case "qy-L出库单列表"
        If Forms("fms-查询列表清单Master").Child.SourceObject <> "fms-L查询列表出库清单" Then  '避孕闪屏
            Forms("fms-查询列表清单Master").Child.SourceObject = "fms-L查询列表出库清单"
            Forms("fms-查询列表清单Master").Label1.Caption = "领料单  查询列表清单"
        End If
  End Select
End Sub

我相信以上代码还可以精减
3#
 楼主| 发表于 2009-6-26 12:56:15 | 只看该作者
感谢关注!
你这样是通过变更数据源来达到一定目的,但是这样的问题是:
1、现在子窗体的数据源是一个,而且包括了我上面所讲的可选项,包括标准单价、零售单价、批发单价以及数量
2、按你这样的方法,应该还是要有各种组合的单独报表,目前报表的情况是前面的基本资料格式是一样的,而只是可选项因发生不同变化而需要调整。
不知道我说的是否清楚,还请更多朋友关注这个问题。谢谢!

点击这里给我发消息

4#
发表于 2009-6-26 14:05:30 | 只看该作者
1、如果报表数量有可能经常变动增加,可用一个表来储存报表信息,在窗体上用组合框或列表框显示,再用一个命令按钮,根据所选项,打开相应报表。
2、在ACCESS中动态报表比较麻烦,还不如设计多个报表。
5#
 楼主| 发表于 2009-6-26 22:31:02 | 只看该作者
谢谢!
其他朋友有不同意见吗?
6#
 楼主| 发表于 2009-6-27 09:05:10 | 只看该作者
再顶一次吧
7#
发表于 2009-6-27 22:52:20 | 只看该作者
6# jackysu78

其实可以自定多个查询语法在VAB中
行来源类型为“值列表”
行来源:“标准单价;标准单价”
Private Sub tx数据来源_Change()
dim sql标准单价 as string
dim sql零售单价 as string
sql标准单价= "******"  '或做个查询表
sql零售单价="******"
Select Case tx数据来源
    Case "标准单价"
           me.child1.SourceObject=sql标准单价
    Case "零售单价"
           me.child1.SourceObject=sql零售单价
end select

目的,是子窗体的数据源隋组合框的的选择变化而变化。
也可用宝哥的方法,把语法存在自定义的表中,再提取查询。
8#
 楼主| 发表于 2009-6-27 23:25:12 | 只看该作者
谢谢关注!
看样子我还是有必要弄个实例上来大家探讨一下。
其实我的目的包括如下:
1、主窗体设计一个类似组合框的命令控件,带下拉选项,这样trynew老师有个例子,但那是在toolbar中的应用,当然我也不知道单独一个命令控件能否达到这样的效果
2、按7#好友的意思,那应该是要多个查询,我想是否可以通过组合选项来达到目的,也就是从一个数据源中,根据组合选项的不同来控制报表中显示相应的组合,当然这里对组合选项的显示格式又要加控制

好象有点复杂!呵呵,还是希望继续研究这个问题,我想这个功能也比较适用,值得去学习一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-10 18:52 , Processed in 0.110653 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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