Office中国论坛/Access中国论坛

标题: {求助}窗体下列表框数据筛选.出出招哟!--谢谢 [打印本页]

作者: yxf614    时间: 2009-12-19 19:10
标题: {求助}窗体下列表框数据筛选.出出招哟!--谢谢
本帖最后由 yxf614 于 2009-12-20 11:38 编辑

[attach]40874[/attach]
[attach]40875[/attach]
作者: todaynew    时间: 2009-12-19 19:29
大体如下:
dim str as string
if nz(me.上限.value,0)>0 then
   str="出租价格>=" & nz(me.下限.value,0) & " and 出租价格<=" & me.上限.value
else
   str="出租价格>=" & nz(me.下限.value,0)
end if
if nz(me.朝向.value,"")<>"" then
   str=str & " and 房屋朝向='" & me.朝向.value & "'"
else
   str=str & " and 房屋朝向='*'"
end if
Me.Form.Filter = str
Me.Form.FilterOn = True
作者: yxf614    时间: 2009-12-19 19:51
2# todaynew

谢谢呀.我试用了下好像老是有点问题.再请教下你哟
作者: yxf614    时间: 2009-12-19 20:51
好像老是有点问题.再请教下你哟
作者: yxf614    时间: 2009-12-19 21:04
像老是有点问题.再请教下你哟
作者: a508    时间: 2009-12-19 23:20
我也写了一个.
作者: 号子    时间: 2009-12-20 08:18
看看,顶,
作者: yxf614    时间: 2009-12-20 08:28
我试用了下好像老是有点问题.再请教下你哟
作者: yxf614    时间: 2009-12-20 08:28
我试用了下好像老是有点问题.再请教下你哟
作者: yxf614    时间: 2009-12-20 08:58
6# a508

不能用;;
Text74.SetFocus
Text74.Text = sql
这句好像有问题."Text74"好像没有呀.还有我要重新输入筛选条件.如何设置按键实现.代码如何写.
作者: yxf614    时间: 2009-12-20 09:04
2# todaynew

我是这样写的.不行呀.请大家帮忙看下.谢谢!!

Private Sub Command73_Click()
Dim str As String
If Nz(Me.Text66.Value, 0) > 0 Then
   str = "出租价格>=" & Nz(Me.Text69.Value, 0) & " and 出租价格<=" & Me.Text66.Value
Else
   str = "出租价格>=" & Nz(Me.Text69.Value, 0)
End If
If Nz(Me.Text71.Value, "") <> "" Then
   str = str & " and 房屋朝向='" & Me.Text71.Value & "'"
Else
   str = str & " and 房屋朝向='*'"
End If
Me.Form.Filter = str
Me.Form.FilterOn = True

End Sub
作者: todaynew    时间: 2009-12-20 09:42
本帖最后由 todaynew 于 2009-12-20 09:50 编辑
像老是有点问题.再请教下你哟
yxf614 发表于 2009-12-19 21:04

[attach]40879[/attach]
[attach]40879[/attach]
作者: yxf614    时间: 2009-12-20 10:26
这个我也是会的.但是子窗体要为列表框.这样才能双击事件到另一窗口.难度大哟
还是很谢谢你哟
作者: todaynew    时间: 2009-12-20 10:36
本帖最后由 todaynew 于 2009-12-20 10:42 编辑

用列表框是一样的,不过是解决列表框数据源的问题。也就是说将写在str变量前面加上“where ”后,与列表框的数据源(sql字符串)链接起来,做为列表框的数据源。

Private Sub Command73_Click()
Dim str As String
If Nz(Me.Text66.Value, 0) > 0 Then
   str = "出租价格>=" & Nz(Me.Text69.Value, 0) & " and 出租价格<=" & Me.Text66.Value
Else
   str = "出租价格>=" & Nz(Me.Text69.Value, 0)
End If
If Nz(Me.Text71.Value, "") <> "" Then
   str = str & " and 房屋朝向='" & Me.Text71.Value & "'"
Else
   str = str & " and 房屋朝向='*'"
End If

str=Me.列表框.RecordSource & "  where  " & str
Me.列表框.RecordSource=str
Me.列表框.Requery

End Sub
作者: yxf614    时间: 2009-12-20 11:27
14# todaynew


这样还是用不了.不过我还是想你这个方法.谢谢能不能再讲下.
[attach]40881[/attach]
作者: todaynew    时间: 2009-12-20 12:00
14# todaynew  


这样还是用不了.不过我还是想你这个方法.谢谢能不能再讲下.
40881
yxf614 发表于 2009-12-20 11:27

[attach]40882[/attach]

[attach]40883[/attach]
作者: yxf614    时间: 2009-12-20 14:29
写了个清除条件代码如下,用不来.请你看下.
Private Sub Command75_Click()
   '下面这些控件的值要清空
    Me.下限 = Null
    Me.上限 = Null
    Me.朝向 = Null

   
    Me.List14.Requery  '清空之后一样要重新查询
End Sub
作者: yxf614    时间: 2009-12-20 14:31
16# todaynew

[attach]40884[/attach]
作者: todaynew    时间: 2009-12-20 14:31
本帖最后由 todaynew 于 2009-12-20 14:38 编辑

Private Sub Command75_Click()
    Me.下限.value = Null
    Me.上限.value = Null
    Me.朝向.value = Null
    Me.List14.RowSource = "可租房源查询"   
    Me.List14.Requery
End Sub
作者: yxf614    时间: 2009-12-20 14:46
没有人了哟
作者: yxf614    时间: 2009-12-20 16:30
谢谢;完成了后发一个给你哟.请留下你的QQ:"todaynew "




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