以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口 文本框 leave事件 第一次触发为什么value返回总是空值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25854)

--  作者:giecc
--  发布时间:2012/11/18 22:14:00
--  窗口 文本框 leave事件 第一次触发为什么value返回总是空值

Dim dr As DataRow
Dim s_khmc As String


dr = DataTables("客户信息表").Find("khmc = \'" & e.Form.Controls("TextBox1").Value & "\'")
s_khmc = e.Form.Controls("TextBox1").Value

If  dr IsNot Nothing  Then 
        MessageBox.Show ("客户名称已存在!")
        e.Cancel = True
        e.Form.Controls("textbox1").Select()
Else
   Tables("客户信息表").current("客户名称")=  s_khmc
End If

 

 

在新录入客户信息时想通过leave事件中以上的代码判断是否该客户已经存在,若存在,则返回,不存在时将数值写入当前行

 

但每次运行时,第一次触发leave事件dr总是返回空值,将光标放回去第二次触发时才返回textbox里的文字

 

不知问题出在哪里?另外请教实现这个功能有更好的方法吗?

[此贴子已经被作者于2012-11-18 22:14:31编辑过]

--  作者:mr725
--  发布时间:2012/11/18 22:18:00
--  
一直时这样的,要不你用text 替换 value。
--  作者:sloyy
--  发布时间:2012/11/18 22:18:00
--  
试试 e.Form.Controls("TextBox1").text
--  作者:giecc
--  发布时间:2012/11/19 21:20:00
--  

真的换成text就可以了,谢谢