谢谢styhs,可以是可以了,只是选择一次后就记忆状态了,再选其他省份的时候城市字段和医院字段仍显示原来的第一次选择的内容,必须关闭后重新打开才可以。另外chuang0321说VBA可以实现,可否提供详细代码。谢谢。作者: Henry D. Sy 时间: 2009-5-6 23:52
Dim strSQL As String
Private Sub City_AfterUpdate()
strSQL = "select hospitalname from hospital where city='" & Me.City & "'"
Me.HospitalName.RowSource = strSQL
End Sub
Private Sub Province_AfterUpdate()
strSQL = "select distinct city from hospital where province='" & Me.Province & "'"
Me.City.RowSource = strSQL
End Sub作者: king0224 时间: 2009-5-7 01:19
楼上版主的方法解决了之前的问题,非常感谢。但是如果做过一次筛选后,下次不选省份的情况下城市和医院还是记录上次筛选的结果。
希望达到的效果是如果选择了省份,则城市列表为相应省份的城市,如果不选省份,城市列表为所有城市。
同理,如果不选省份和城市,医院列表为所有医院;如果只选省份不选城市,那么医院列表则显示所有选定省份的医院。
是否要加If条件来判断,请大家再接再厉,帮忙实现。作者: Henry D. Sy 时间: 2009-5-7 09:43
这种要求都有,呵呵。
有点自找麻烦!!作者: Henry D. Sy 时间: 2009-5-7 09:51
Private Sub City_Enter()
If Not IsNull(Me.Province) Then
strSQL = "select distinct city from hospital where province='" & Me.Province & "'"
Else
strSQL = "select distinct city from hospital"
End If
Me.City.RowSource = strSQL
End Sub作者: king0224 时间: 2009-5-7 23:31
非常完美,完全达到我想要的效果了,感谢版主,感谢其他关注帖子的朋友。
学习了,收获很多。作者: windsmile2008 时间: 2009-5-8 00:55
看看作者: shakamiuu 时间: 2009-6-11 11:03
太强大了作者: weizexon 时间: 2009-9-11 04:07
受教了~~作者: guide8 时间: 2010-5-17 15:57
谢谢啦!!!!!!!!!