Access交流中心

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

请问为何 Set rs =nothing 不生效

包颖  发表于:2011-03-17 09:10:37  
复制

要在ACCSEE窗体上实现一个省份和城市的级联下拉框,在省份框的更新后事件里写的如下代码:

Private Sub province_AfterUpdate()
Dim strWhere
Dim strWhere2
Dim strSql
Dim var
Dim rs As Recordset
Dim rs2 As Recordset

 


strWhere = Null
strWhere2 = Null
'Set rs = Nothing
'Set rs2 = Nothing
'Set rs = Nothing
 
If Not IsNull(Me.province) Then

If Not IsNull(strWhere2) Then
strWhere2 = strWhere2 & "AND ([pname] like '" & Me.province & "')"
Else
strWhere2 = strWhere2 & "([pname] like '" & Me.province & "')"
End If

End If

Set rs = CurrentDb.OpenRecordset("select * from t_zd_province where " & strWhere2)


If Not IsNull(rs) Then
var = rs("pid")
If Not IsNull(strWhere) Then
strWhere = strWhere & "AND ([sprovinceid] like '" & var & "')"
Else
strWhere = strWhere & "([sprovinceid] like '" & var & "')"
End If

End If

'MsgBox (strWhere)
    rs.close

Set rs = Nothing


Set rs2 = CurrentDb.OpenRecordset("select * from t_zd_city where" & strWhere)



If Not rs2.EOF Then
        rs2.MoveFirst
       
        Do While Not rs2.EOF
            
           Me.city.AddItem (rs2("cname"))
            rs2.MoveNext
        Loop
       
    End If
   
rs2.close
Set rs2 = Nothing


End Sub

 

 

但每次更换省份后,上一次的城市还在里面,就形成了累计,也就是我的rs2没有清空,请问各位大侠,什么原因呢?

 

Top
包颖 发表于:2011-03-17 11:39:59
没人理啊,自己顶一下,各位帮帮忙啊!!!

煮江品茶 发表于:2011-03-17 12:38:33

没必要用记录集,用类似下面的方式即可:

If Not IsNull(Me.province) Then
    If Not IsNull(strWhere2) Then
       strWhere2 = strWhere2 & "AND ([pname] like '" & Me.province & "')"
    Else
       strWhere2 = strWhere2 & "([pname] like '" & Me.province & "')"
    End If
End If
Me.city.RowSource="select * from t_zd_province where " & strWhere2



包颖 发表于:2011-03-17 13:40:29
太感谢了啊!刚学ACCESS,里面内嵌的VB也不是很熟,楼上的高手,太感谢了!!

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