VB中操作ACCESS数据库中的[数据类型不匹配]问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 19:55:20
在VB中,操作ACCESS数据库中,我的数据表其中的"自动编号"这个字段的值怎么查询,因为我在查询中碰到的是"标准表达式中数据类型不匹配"
在我的数据表中,自动编号这个类型应当为long

dim TelIDNum as long
'原本这个变量是一个公有变量,在其它地方赋值过的。
Dim DBstr As String
Dim ChgUser As New adodb.Recordset

DBstr = "select * from TelUser where TelID='" & TelIDNum & "'"
'DBstr = "select * from teluser where telnum='" & txtNum.Text & "'"
'第二个DBSTR就是正确可行的表达式,能查到结果
ChgUser.Open DBstr, DBCnn, adOpenStatic, adLockOptimistic ChgUser.MoveFirst

'在运行的时候,这句就不对,提示说《标准表达式中数据类型不匹配》

我试过把DBSTR改成如下均不可
dim TelIDNum as integer
dim TelIDNum as long
dim TelIDNum as single
dim TelIDNum as double
dim TelIDNum as variant

这五种变量的数据类型都不匹配,请问如何解决这一问题.
请高手指导,谢谢.
其实我查询的TelIDNum这个变量对应ACCESS数据库表中的值是自动编号类型,并且确定是存在的值.

我不知道这里应对TelIDNum这个变量定义成一个什么类型才能匹配.请教大家了.谢谢.

自动编号既然知道为long类型,你查询的时候值就不能用单引号界定起来
改成
DBstr = "select * from TelUser where TelID=" & TelIDNum & ""
试试,如果还不行,就把DBstr打印出来看看,应该类似于
select * from TelUser where TelID=32 '或者什么数值