Access交流中心

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

请教煮江总版和各位老师,如何实现输入为空则查询结果也为空

phenix  发表于:2010-08-20 23:42:08  
复制

下面是一段著江品茶总版主帮忙修改的代码,现在的情况是,如果条件文本框没有输入,则查询结果子窗体显示所有内容。能否在条件文本框没有输入的时候,让子窗体处于空白状态?谢谢。

 

 

Private Sub cmd工资查询_Click()
    Dim strWhere As String
    Dim str(1 To 3) As String

    strWhere = "True"
    If Not IsNull(Me.xueli) Then
        strWhere = strWhere & " AND ([学历] like '" & Me.xueli & "')"
    End If
   
    If Not IsNull(Me.cjgzsj) Then
        strWhere = strWhere & " AND ([参加工作时间] like '" & Me.cjgzsj & "')"
    End If

    If Not IsNull(Me.zcsj) Then
        str(1) = strWhere & " AND ([转出时间] = " & Me.cjgzsj & ")"
        str(2) = strWhere & " AND ([转出时间] = " & Me.cjgzsj & "+1)"
        str(3) = strWhere & " AND ([转出时间]> " & Me.cjgzsj & "+1 and [转出时间]<=" & Me.zcsj & ")"
    End If

   
    Me.试用期子窗体.Form.Filter = str(1)
    Me.试用期子窗体.Form.FilterOn = True
   
    Me.转正定级子窗体.Form.Filter = str(2)
    Me.转正定级子窗体.Form.FilterOn = True
   
    Me.晋升子窗体.Form.Filter = str(3)
    Me.晋升子窗体.Form.FilterOn = True

End Sub

 

Top
煮江品茶 发表于:2010-08-21 06:57:18

Private Sub cmd工资查询_Click()
    Dim strWhere As String
    Dim str(1 To 3) As String
    Dim b As Boolean
  b=IsNull(Me.xueli) And IsNull(Me.cjgzsj) And IsNull(Me.zcsj)
    if b=True then
        strWhere = "False"
    eles
        strWhere = "True"
    end if

 

    If Not IsNull(Me.xueli) Then
        strWhere = strWhere & " AND ([学历] like '" & Me.xueli & "')"
    End If
   
    If Not IsNull(Me.cjgzsj) Then
        strWhere = strWhere & " AND ([参加工作时间] like '" & Me.cjgzsj & "')"
    End If

    If Not IsNull(Me.zcsj) Then
        str(1) = strWhere & " AND ([转出时间] = " & Me.cjgzsj & ")"
        str(2) = strWhere & " AND ([转出时间] = " & Me.cjgzsj & "+1)"
        str(3) = strWhere & " AND ([转出时间]> " & Me.cjgzsj & "+1 and [转出时间]<=" & Me.zcsj & ")"
    End If

   
    Me.试用期子窗体.Form.Filter = str(1)
    Me.试用期子窗体.Form.FilterOn = True
   
    Me.转正定级子窗体.Form.Filter = str(2)
    Me.转正定级子窗体.Form.FilterOn = True
   
    Me.晋升子窗体.Form.Filter = str(3)
    Me.晋升子窗体.Form.FilterOn = True

End Sub

 



phenix 发表于:2010-08-21 08:35:16

改了一下,好像还是不行。

 

另外,总版打错了个字,应该是else,不是eles。



phenix 发表于:2010-08-22 11:25:00
再顶一下,虽说这个不是必须解决的问题,但总想看看有没有办法。

wyh99999 发表于:2010-08-22 15:12:43
假设str(1)默认值为" "或子窗体为False行不行。


phenix 发表于:2010-08-22 17:20:21
4楼的朋友能详细说一下吗?谢谢。

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