显示数据类型不匹配
编号: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
此问题由李海回答。
| |
|
|
| |
|
|