设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3802|回复: 13
打印 上一主题 下一主题

[帮助] 请版主帮忙完善一下代码实现我想要的功能,谢谢!

[复制链接]
跳转到指定楼层
1#
发表于 2011-12-17 18:22:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请版主帮忙完善一下代码实现我想要的功能[见图片说明],谢谢!

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2011-12-18 17:19:25 | 只看该作者
Henry D. Sy 版主:请帮帮忙呀!谢谢!
3#
发表于 2011-12-19 00:26:08 | 只看该作者
本帖最后由 roych 于 2011-12-19 01:16 编辑

日期包含了月份,因此只需要日期即可,这样会更方便处理,否则得多写一个筛选字段。
此外,草草看了下里面的统计字段,由于里面没有把条件加上去。因此,需要一个公共变量进行把筛选条件进行返回。晚些再看看,先睡觉~~~
4#
发表于 2011-12-19 09:47:18 | 只看该作者
ysh5858 发表于 2011-12-18 17:19
Henry D. Sy 版主:请帮帮忙呀!谢谢!

呜啊,这么都问题,
能不能一个一个来
5#
发表于 2011-12-19 09:51:43 | 只看该作者
问题3:按roych说的,把月份去掉
如果想要查询月份,比如11月份的,可以输入2011-11-1至2011-11-30来查询!
另外,编程日期没有必要format为文本
更改如下:
  1. Private Sub 查询_Click()
  2.     Dim sLookFor As String
  3.     sLookFor = ""
  4.     If 模具编号 <> "" Then
  5.         sLookFor = sLookFor & "模具编号='" & 模具编号 & "' and "
  6.     End If
  7.     If 零件编号 <> "" Then
  8.         sLookFor = sLookFor & "零件编号='" & 零件编号 & "' and "
  9.     End If
  10.     If 零件名称 <> "" Then
  11.         sLookFor = sLookFor & "零件名称='" & 零件名称 & "' and "
  12.     End If
  13.     If 加工类别 <> "" Then
  14.         sLookFor = sLookFor & "类别='" & 加工类别 & "' and "
  15.     End If
  16.     If 编程员 <> "" Then
  17.         sLookFor = sLookFor & "编程员='" & 编程员 & "' and "
  18.     End If
  19.     If 操作员 <> "" Then
  20.         sLookFor = sLookFor & "操作员='" & 操作员 & "' and "
  21.     End If
  22.     If 机台号 <> "" Then
  23.         sLookFor = sLookFor & "机台号='" & 机台号 & "' and "
  24.     End If

  25.     If Not IsNull(Me.完成日期1) Then
  26.         sLookFor = sLookFor & "([完成加工时间] >= #" & Format(Me.完成日期1, "yyyy-mm-dd") & "#) AND "
  27.     End If
  28.     If Not IsNull(Me.完成日期2) Then
  29.         sLookFor = sLookFor & "([完成加工时间] <= #" & Format(Me.完成日期2, "yyyy-mm-dd") & "#) AND "
  30.     End If

  31.     If 编程日期1 <> "" Then
  32.         sLookFor = sLookFor & "([编程完成日期] >= #" & Me.编程日期1 & "#) AND "
  33.     End If
  34.     If 编程日期2 <> "" Then
  35.         sLookFor = sLookFor & "([编程完成日期] <= #" & Me.编程日期2 & "#) AND "
  36.     End If

  37.     If sLookFor <> "" Then
  38.         sLookFor = Mid(sLookFor, 1, Len(sLookFor) - 5)

  39.         Me.加工信息综合查询_子窗体.Form.Filter = sLookFor
  40.         Me.加工信息综合查询_子窗体.Form.FilterOn = True
  41.     Else
  42.         MsgBox "请输入要查找的对象"
  43.     End If
  44. End Sub
复制代码
6#
发表于 2011-12-19 09:56:32 | 只看该作者
问题2:
参照cuxun大肚对日期为null的处理方式:
函数稍微更改一下
应用:
实际工时: gongshi(nz([开始加工时间],0),nz([完成加工时间],0),"M")/60
  1. Public Function GongShi(TimeStart As Date, TimeEnd As Date, Optional MH As String = "M") As Integer

  2.     Dim i As Integer
  3.     If MH = "H" Then
  4.         i = 24
  5.     Else
  6.         i = 1440
  7.     End If
  8.      If TimeStart = 0 Or TimeEnd = 0 Then
  9.         GongShi = 0
  10.     ElseIf Nz(TimeEnd) < Nz(TimeStart) Then
  11.         GongShi = (Nz(TimeEnd) - Nz(TimeStart) + 1) * i
  12.     Else
  13.         GongShi = (Nz(TimeEnd) - Nz(TimeStart)) * i
  14.     End If

  15. End Function
复制代码
7#
发表于 2011-12-19 09:57:43 | 只看该作者
问题1,问题4
下回待续,暂时有事!
8#
发表于 2011-12-19 10:59:31 | 只看该作者
问题4-1打印报表
根据子窗体的记录源建立报表A
然后:
  1. Private Sub 打印报表_Click()
  2.     DoCmd.OpenReport "A", acViewPreview, , Me.加工信息综合查询_子窗体.Form.Filter
  3. End Sub
复制代码
9#
发表于 2011-12-19 11:18:34 | 只看该作者
问题4-2导出excel
随便建立一个查询,比如A
然后:
  1. Private Sub 导出Excel_Click()
  2.     Dim qdf As DAO.QueryDef
  3.     Dim Criteria As String
  4.     Dim sSQL As String
  5.     sSQL = "SELECT 工序ID, 模具编号, 零件编号, 零件名称, 类别, 数量,估工,需求日期,编程员,编程完成日期,机台号,操作员, 开始加工时间, 完成加工时间,完成数量,工时,金额,状态,备注说明 FROM 加工信息综合查询"
  6.     Criteria = Me.加工信息综合查询_子窗体.Form.Filter
  7.     If Criteria <> "" Then
  8.         sSQL = sSQL & " where " & Criteria
  9.     End If
  10.     Set qdf = CurrentDb.QueryDefs("A")
  11.     qdf.SQL = sSQL
  12.     DoCmd.OutputTo acOutputQuery, "A", acFormatXLS, , True
  13.     qdf.Close
  14.     Set qdf = Nothing
  15. End Sub
复制代码
10#
发表于 2011-12-19 11:21:29 | 只看该作者
最后一个问题,也就是问题1=吃饭去!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-5 10:46 , Processed in 0.102252 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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