Office中国论坛/Access中国论坛
标题:
求助一段程序
[打印本页]
作者:
dhlyh
时间:
2008-12-13 22:04
标题:
求助一段程序
查询中用了如下一段代码,使用后发现有个问题,就是如果当在文本框中输入的单位名称如果表1中没有,那么下面的子窗体就成了空白,除非把程序关闭,再开启,才能回到初始状态,我想加段if的语句,判断如果输入的单位名称数据库中没有,那么弹出个窗口提示使用者输入有错误,点确定或者是其它的键吧然后回到初始的数据库状态,写了好多次都不对,哪位高手帮个忙 给段代码 谢谢
Private Sub Text33_Change()
Dim tj As String
tj = Me.Text33.Text
Me.Form.Filter = "单位名称 like '*" & tj & "*'"
Me.Form.FilterOn = True
Me.表1_子窗体.Form.Filter = "单位名称 like '*" & tj & "*'"
Me.表1_子窗体.Form.FilterOn = True
'Me.Requery
Me.表1_子窗体.Requery
SendKeys "{F2}"
End Sub
作者:
tmtony
时间:
2008-12-13 22:21
使用 dao或ado或 Dlookup先判断 有否相应数据, 如何没有,则根本不执行后面的筛选程序
作者:
dhlyh
时间:
2008-12-13 22:30
tmtony 能帮忙写的详细一点吗,我也是用的dlookup判断 但就是总提示用错误 麻烦了
作者:
tmtony
时间:
2008-12-13 22:35
因为从代码中无法具体分析到问题所在, 能否上传相关的窗体和表上来.我在上面修改给你
作者:
dhlyh
时间:
2008-12-13 22:44
谢谢tmtony ,附件传上来了 只不过我把自己后来写的那段给删除了,太烂
作者:
koutx
时间:
2008-12-13 22:54
标题:
回复楼主
试试看
Private Sub Text33_Change()
On Error GoTo Err_Text33_Change
以下添上你的语句块
Exit_Text33_Change:
Exit Sub
Err_Text33_Change:
MsgBox "库中无此记录或运行出错",'"提示"
Resume Exit_Text33_Change
作者:
Henry D. Sy
时间:
2008-12-13 23:08
Private Sub Text33_Change()
Dim tj As String
Dim strWhere As String
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
tj = Me.Text33.Text
strWhere = "单位名称 like '*" & tj & "*'"
rs.FindFirst strWhere
If rs.NoMatch Then
strWhere = ""
End If
set rs=Nothing
Me.Form.Filter = strWhere
Me.Form.FilterOn = True
SendKeys "{F2}"
End Sub
复制代码
[
本帖最后由 Henry D. Sy 于 2008-12-13 23:09 编辑
]
作者:
dhlyh
时间:
2008-12-14 08:54
谢谢二位,我知道错在哪了
作者:
koutx
时间:
2008-12-14 09:38
If rs.NoMatch Then
又学一招
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3