Office中国论坛/Access中国论坛

标题: ACCESS如何查询订单查询详表中字段为空值的记录 [打印本页]

作者: yzc2011    时间: 2017-3-21 18:39
标题: ACCESS如何查询订单查询详表中字段为空值的记录
如何查询订单查询详表中字段为空值的记录
通过输入要被查询的字段来查询此字段中的空值记录。
如查询单价、交货日期、完成日期为空值的记录
这样可以快速查询到记录中忘了输入的内容。如单价、交货日期等。

作者: Henry D. Sy    时间: 2017-3-22 13:48
  1. WHERE 字段名 Is Null
复制代码

作者: Henry D. Sy    时间: 2017-3-22 13:50
  1. SELECT 订单表.订单编号, 订单表.客户名称, 订单详表.产品名称, 订单详表.数量, 订单详表.单价, 订单详表.交货日期, 订单详表.完成日期, IIf(IsNull(完成日期),Switch(DateDiff("d",Date(),[交货日期])>=5,"正常",DateDiff("d",Date(),[交货日期])<5 And DateDiff("d",Date(),[交货日期])>0,"注意",DateDiff("d",Date(),[交货日期])=0,"交货",DateDiff("d",Date(),[交货日期])<0,"超期"),Switch([完成日期]-[交货日期]<0,"按时",[完成日期]-[交货日期]=0,"交货",[完成日期]-[交货日期]>0,"超期")) AS 准时, DateDiff("d",[交货日期],Date()) AS 表达式1
  2. FROM 订单表 INNER JOIN 订单详表 ON 订单表.订单编号 = 订单详表.订单编号
  3. WHERE (((订单详表.单价) Is Null)) OR (((订单详表.交货日期) Is Null)) OR (((订单详表.完成日期) Is Null));
复制代码

作者: yzc2011    时间: 2017-3-22 14:00
新手,不明白。能做个实例吗
作者: Henry D. Sy    时间: 2017-3-22 14:11
yzc2011 发表于 2017-3-22 14:00
新手,不明白。能做个实例吗
  1. Private Sub cmd查询_Click()
  2.     Dim str As String
  3.     Dim sSQL As String
  4.     If Not IsNull(Me.空值字段) Then
  5.         str = Me.空值字段
  6.     Else
  7.         MsgBox "请输入查询字段名称"
  8.         Me.空值字段.SetFocus
  9.         Exit Sub
  10.     End If
  11.     sSQL = "select * from 订单查询 where " & str & " is null"
  12.     Me.订单查询详表.Form.RecordSource = sSQL

  13. End Sub
复制代码

作者: yzc2011    时间: 2017-3-22 14:25
还是不行。能说的详细点吗,都需要在哪些地方做修改
作者: yzc2011    时间: 2017-3-22 14:27
把查询的整个代码梳理一下,全部传上来行吗,还有第一次回复的这个代码 WHERE 字段名 Is Null 要吗。

作者: Henry D. Sy    时间: 2017-3-22 16:06
yzc2011 发表于 2017-3-22 14:25
还是不行。能说的详细点吗,都需要在哪些地方做修改

(, 下载次数: 91)

作者: yzc2011    时间: 2017-3-22 16:46
不知道是怎么回事,就是下载不了。能发在邮箱上吗!!邮箱地址:skyyzc@126.com
作者: yzc2011    时间: 2017-3-22 16:57
迅雷下载不了,用其它方式下载了,谢谢,先看一下。
作者: yzc2011    时间: 2017-3-22 17:07
原来的查询代码都删除了,原来查询代码应该如何加上呢,不能有了这个功能把另一个功能弄没了。能再麻烦你一下吗。
作者: yzc2011    时间: 2017-3-22 17:39
这个空值查询与原来的查询能不能合一起使用。如能合一起的话,帮忙看一下这两段代码如何结合。我把两段代码都放进去后,总是只能运行空值的代码。如不能合在一起使用,那就另外新建一个空值查询按键好了。谢谢你。
作者: Henry D. Sy    时间: 2017-3-22 19:40
yzc2011 发表于 2017-3-22 17:39
这个空值查询与原来的查询能不能合一起使用。如能合一起的话,帮忙看一下这两段代码如何结合。我把两段代码 ...

(, 下载次数: 66)



作者: yzc2011    时间: 2017-3-22 20:30
谢谢
作者: yzc2011    时间: 2017-3-23 01:31
打印有点问题。
如何把空值查询的结果传到报表中打印。同时不影响原打印功能。
原打印代码:
Private Sub 订单查询预览打印_Click()
    On Error GoTo Err_订单查询预览打印_Click

    Dim stDocName, strWhere As String

    stDocName = "订单查询打印"
    strWhere = Me.订单查询详表.Form.Filter

    '在打开报表的同时把子窗体的筛选条件字符串也传递给报表,
    '这样地话报表也会显示和子窗体相同的记录。
    DoCmd.OpenReport stDocName, acPreview, , strWhere
   
Exit_订单查询预览打印_Click:
    Exit Sub

Err_订单查询预览打印_Click:
    MsgBox Err.Description
    Resume Exit_订单查询预览打印_Click
作者: yzc2011    时间: 2017-3-23 01:33
打印有点问题
如何把空值查询的结果传到报表中打印。同时不影响原打印功能。

原打印代码:
Private Sub 订单查询预览打印_Click()
    On Error GoTo Err_订单查询预览打印_Click
    Dim stDocName, strWhere As String
    stDocName = "订单查询打印"
    strWhere = Me.订单查询详表.Form.Filter
    '在打开报表的同时把子窗体的筛选条件字符串也传递给报表,
    '这样地话报表也会显示和子窗体相同的记录。
    DoCmd.OpenReport stDocName, acPreview, , strWhere
   
Exit_订单查询预览打印_Click:
    Exit Sub
Err_订单查询预览打印_Click:
    MsgBox Err.Description
    Resume Exit_订单查询预览打印_Click
End Sub





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3