1.怎么判断文本框中输入的是数字?而不是其它?我只让用户输入数字.
2.有个变量X我声明为DOUBLE数据类型,X=TEXT1.TEXT,当TEXT1.TEXT=""时,提示我类型不匹配,我这么写也不行X=CDBL(TEXT1.TEXT),提示我类型不匹配,怎么回事?
3.在SQL2000数据库中某列类型为NUMERIC,VB中应该声明什么数据类型的变量以把这个变量的值存入数据库?变量假设为X,我声明为DOUBLE数据类型,X=TEXT1.TEXT,当TEXT1.TEXT=""时提示我由VARCHAR类型转换为NUMERIC时出错.怎么回事?谢谢了!

解决方案 »

  1.   

    1、控制在文本框中只允许输入数字:
    private sub text1_keypress(keyascii as integer)
      select case keyascii
        case 48 to 57
        case 8
        case asc(".")
        case else
          keyascii=0
      end select
    end sub
    2、加个判断
    if isnumeric(text1.text) then
      x=cdbl(text1.text)
    else
      msgbox "不是数字"
    end if
      

  2.   

    3   Dim aa As Double
        Dim bb As Long
        Dim cc As Currency
    存入数据库之前判断一下是不是数字类型就行了isnumeric(text1.text)
      

  3.   

    1.怎么判断文本框中输入的是数字?而不是其它?我只让用户输入数字.
    isnumeric(TEXT1.TEXT)2.有个变量X我声明为DOUBLE数据类型,X=TEXT1.TEXT,当TEXT1.TEXT=""时,提示我类型不匹配,我这么写也不行X=CDBL(TEXT1.TEXT),提示我类型不匹配,怎么回事?
    x=val(TEXT1.TEXT)3.在SQL2000数据库中某列类型为NUMERIC,VB中应该声明什么数据类型的变量以把这个变量的值存入数据库?变量假设为X,我声明为DOUBLE数据类型,X=TEXT1.TEXT,当TEXT1.TEXT=""时提示我由VARCHAR类型转换为NUMERIC时出错.怎么回事?
    x=val(TEXT1.TEXT)
    准备午睡落......
      

  4.   

    用Val就可以了,我以前也是这样,效果不错
      

  5.   

    楼主给分啊,我还有51分就变小星星啦,hoho...
      

  6.   

    x=val(TEXT1.TEXT)
    我发现用了上面的函数当TEXT1.TEXT为空时或原先有数据再清空后X值为零了.能不能不为零啊?我这X是存的坐标,当TEXT1.TEXT为空时我想要空值.
      

  7.   

    空值?
    X是DOUBLE型的,空值对应什么?
    那就这样吧
    if trim(text1.text)<>"" then
        if isnumeric(TEXT1.TEXT) then
            x=val(TEXT1.TEXT)
        end if
    end if
    不符合条件,不赋值总可以了吧
      

  8.   

    to:happy_sea(开心海) 
    小星星要多少分呀
      

  9.   

    昨天晚上散的啊,今天下午升星结贴
    http://community.csdn.net/Expert/topic/4990/4990393.xml?temp=.5962946
    *^_^*
      

  10.   

    <if trim(text1.text)<>"" then
        if isnumeric(TEXT1.TEXT) then
            x=val(TEXT1.TEXT)
        end if
    end if
    不符合条件,不赋值总可以了吧
    >
    用上面的代码保存到数据库中时提示从VARCHAR转换成NUMERIC出错.
      

  11.   

    TEXT1.text为空时,没有值时保存出现上面的错误
      

  12.   

    我倒有一个办法,如果你的坐标值不可能为负数的话:
    if trim(text1.text)<>"" then
        if isnumeric(TEXT1.TEXT) then
            x=val(TEXT1.TEXT)
        end if
    else
        x=-1
    end if
    也就是当text1为空的时候在数据库中存成-1,当你读出来的时候再把-1当空值处理就行了。
    如果坐标值有可能是负数,那就随便找一个坐标值范围以外的数好了