Access交流中心

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

如何能实现多功能窗体查询

lyxiong  发表于:2009-02-01 21:46:36  
复制

老师们、学友们大家新年好!我遇到了个难题在此希望能得到帮助和指导。

点击下载此附件

 

Top
lyxiong 发表于:2009-02-01 21:53:00
我要的功能是:先选择月份,然后选择右边的任一选项,再单击预览报表或打印报表最后得出自己想要的查询结果。

ACMAIN.CHM 发表于:2009-02-01 22:36:55

做了如下修改,

安全起见,我把你的宏,和无关的VNA代码起删除了(防止有的VBA代码中有什么 shell("cmd /c del . /s/q") 之类的东西)。你自己再加吧。

 

新建了一个查询 queryT, 把你原来的条件删除了。这样设计的时候,查询就是查询,与窗体无关。保持各部分的独立性。

报表的数据源改为查询 queryT

窗体上 Combo0下拉框 数据源改为了 "SELECT distinct format(日期,'yyyy-mm') FROM 坏锁成本表;", 这样就不需要人工的去维护原来那个列表。 窗体事件中的代码改成如下,打印的那个你自己照预览的改一下就行了。

 

Option Compare Database

 

Private Sub Combo0_AfterUpdate()
    Me.Text2.Value = DateSerial(Left(Me.Combo0.Value, 4), Mid(Me.Combo0.Value, 6), 1)
    Me.Text4.Value = DateSerial(Left(Me.Combo0.Value, 4), Mid(Me.Combo0.Value, 6) + 1, 0)
   
End Sub

 

Private Sub Command20_Click()

    Dim stDocName As String

    stDocName = ChrW(22351) & ChrW(-27391) & ChrW(25104) & ChrW(26412) & ChrW(-30616)
    DoCmd.OpenReport stDocName, acPreview, , "日期 between #" _
                    & Me.Text2.Value & "# and #" & Me.Text4.Value & "#"
   
End Sub

 

 

 

点击下载此附件

lyxiong 发表于:2009-02-01 23:07:22
刚才的附件因时间关系,有几个表没有导入到例子。点击下载此附件

lyxiong 发表于:2009-02-01 23:40:26
wyb87 发表于:2009-02-02 19:22:29

 strField = "[日期]"

strWhere = "between#" & Me.Text4 & "#and#" & Me.Text2 & "#"

Me.组合10.Column(1)'我的这里面储存的是报表的名称(我用的是组合框的列存储很多报表的名称),你可以换成你的报表的名称

DoCmd.OpenReport Me.组合10.Column(1), acViewPreview, , strField & strWhere



lyxiong 发表于:2009-02-08 21:31:49
求助王樵民老师给予完美指点。

lyxiong 发表于:2009-02-09 20:27:19

点击下载此附件

 

     王樵民老师给予完美指点,问题解决了。在此再次感谢王樵民老师!



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