热情软件屋

 

显示数据类型不匹配


编号:QA002767
建立日期: 2000年3月23日 最后修改日期:2000年3月23日
所属类别:

陈政:
    操作系统: windows
    编程工具: VB
    问题: 请教一个数据类型匹配的问题。
    有一Access数据表,内有高度、容量两个字段,均为double类型,
    Dim RS1 As Recordset
    在某过程,有下列语句
    Yg = Val(txtYg.Text)
    RS1.FindFirst "高度='" + Yg + "'" ①
    v0 = RS1.Fields("容量")
    txtV0 = Str(v0)
    当txtYg.text输入数字后,运行到①却显示数据类型不匹配,为什么?

回答:

    你的高度字段是double型,这并不意味Yg变量必须是double型。
     "高度='" + Yg + "'"必须是一个合法的字符串表达式,而Yg是数字类型,它当然不能和字符串直接相加。所以这个表达式应该改为;
    RS1.FindFirst "高度='" + txtYg.Text + "'"
    这样从语法来说对了,编译可以通过,但运行时仍然有错误。因为上面这个表达式的结果为(假设你输入123)
    "高度='123'"
    而高度字段是double型的,正确的表达式应该是
    "高度=123"
    倒推回去,你的程序应该改为:
    RS1.FindFirst "高度=" + txtYg.Text

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio