以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这行代码要怎么改?请教老师  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=28784)

--  作者:mamuaiqing
--  发布时间:2013/2/19 0:16:00
--  这行代码要怎么改?请教老师

TextBox1控件Leave事件中输入下面代码,出现错误提示"从字符串""到类型的"Double"转换无效,控件中的值为"双精度小数",控件跟表不绑定,值要精确到0.11范围,转换为

 

Double怎么会出现错误呢?请教老师

 

Dim kd As Double = e.Sender.Text
If kd > 0 Then
    e.Form.Controls("CheckBox1").Checked = False
    e.Form.Controls("CheckBox2").Checked = False
    e.Form.Controls("CheckBox3").Checked = False

Endif


--  作者:程兴刚
--  发布时间:2013/2/19 0:31:00
--  
改用数字框!
--  作者:mamuaiqing
--  发布时间:2013/2/19 1:02:00
--  
感谢程老师,但数值组合框也是一样的问题
--  作者:mamuaiqing
--  发布时间:2013/2/19 1:04:00
--  
控件值为空的时候或清除控件数值,离开控件后就出现上面的错误,数值输入后不提示错误
--  作者:lsy
--  发布时间:2013/2/19 8:05:00
--  

Dim kd As Double = val(e.Sender.Text)
If IsNumeric(e.Sender.Text) Then
    If kd > 0 Then
        e.Form.Controls("CheckBox1").Checked = False
        e.Form.Controls("CheckBox2").Checked = False
        e.Form.Controls("CheckBox3").Checked = False
    Else
        \'\'\'相应的判断

    End If
Else
    e.Sender.Value = ""
    e.Sender.Select()
    Return
End If

[此贴子已经被作者于2013-2-19 8:06:44编辑过]

--  作者:lin_hailun
--  发布时间:2013/2/19 8:38:00
--  
 直接改一下就行了。

Dim kd As Double = val(e.Sender.Text)
If kd > 0 Then
    e.Form.Controls("CheckBox1").Checked = False
    e.Form.Controls("CheckBox2").Checked = False
    e.Form.Controls("CheckBox3").Checked = False

Endif



--  作者:mamuaiqing
--  发布时间:2013/2/20 0:56:00
--  
感谢林老师跟lsy老师的代码,同时学会了val跟IsNumeric