以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  afterload事件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81601)

--  作者:ycwk
--  发布时间:2016/3/1 20:01:00
--  afterload事件
把下面这段代码放到 窗口的 afterload事件中,本想打入电话后,人工点击弹出窗口"win_日常问题记录修改",再把全局变量CallerNo传给窗口“tb_电话号码”控件,现在tb_电话号码可以正常得到值,但是下面的需要根据来电 电话号码取值的三个combox控件死活都获取不到值。   何故? 我现在只能把下面第二段代码放在 tb_电话号码控件的 click 事件中,通过弹出窗口后点击一下三个combox控件才能正常获取值。

第一段:
If vars("CallerNo") IsNot Nothing Then
e.Form.Controls("tb_电话号码").text=Vars("CallerNo")           \'在加载窗口后把全局变量CallerNO(存储来电号码),传递给窗口里的控件
End If



第二段:
Dim tb As WinForm.TextBox
Dim dr As DataRow

tb=Forms("win_日常问题记录修改").controls("tb_电话号码")

dr= DataTables("科室信息化联络员表").SQLFind("科室_电话=\'"& tb.value &"\'") 

If dr IsNot Nothing Then 

Forms("win_日常问题记录修改").Controls("cb_部门分类").value =dr("部门分类")
Forms("win_日常问题记录修改").Controls("cb_科室_学科").value =dr("科室_学科")
Forms("win_日常问题记录修改").Controls("cb_科室_明细").value =dr("科室_明细")
Else 
    MessageBox.Show("该电话号码没有收录!")
End If


--  作者:大红袍
--  发布时间:2016/3/1 22:26:00
--  

这句代码

 

dr= DataTables("科室信息化联络员表").SQLFind("科室_电话=\'"& tb.value &"\'") 

 

1、sqlFind,是后台查找,你的记录必须保存以后,才能找到,否者,就要用find

 

2、tb.Value,最好改成 tb.Text

 

3、你什么时候触发赋值?你可以在 textbox 的TextChanged事件写代码嘛


--  作者:ycwk
--  发布时间:2016/3/2 21:24:00
--  
我希望通过全局变量把电话号码传到    forms() .open   后的窗口的tb_电话号码 控件中,    (这步没有问题)  ,问题在于窗口打开后,要根据   tb_电话号码  获取三个combox的值,获取不到,即使把代码放到textbox 的  textchanged事件中也一样
--  作者:大红袍
--  发布时间:2016/3/2 21:38:00
--  

 在textChanged事件加入msgbox看是否弹出。

 

 完整看2楼,再不行,上传例子。