[BlueDog] -- 从Access 97到Access 2000的错误
俺有一个程序,原来采用Access 97, 运行得很好,将其升级到Access 2000后。
出现问题,出现问题的模块为以下模块
'查询邮编及其它
Private Function QueryZip(ZipStr As String, ResultRecord As ADODB.Recordset) As Boolean
Dim SQLStr As String
Dim comZip As ADODB.Command
Dim tempStr As String
If Len(Trim(ZipStr)) = 0 Then
QueryZip = False
Else
tempStr = "'%" & Trim(ZipStr) & "%'" '转成 *湘潭*这样的查询字符串
SQLStr = "SELECT short,province,city,zone,post " _
& " FROM Zip" _
& " WHERE ( short LIKE " & tempStr & ") OR (" _
& " province LIKE " & tempStr & ") OR (" _
& " city LIKE " & tempStr & ") OR (" _
& " zone LIKE " & tempStr & ") OR (" _
& " post LIKE " & tempStr & ")"
Set comZip = New ADODB.Command
With comZip
.ActiveConnection = glbSD.gQueryDB.cnnDB
.CommandText = SQLStr
End With
Set rstZip = New ADODB.Recordset
'
'以下为出现问题的语句
'提示 Open的 _RecordSet 方法出错。
'
rstZip.Open comZip, , adOpenKeyset, adLockOptimistic, adCmdText
Set comZip = Nothing
Set ResultRecord = rstZip
QueryZip = True
End If
End Function
1、我已经将数据库转成Access 2000的版本
2、strProvider = "Provider=Microsoft.Jet.OLEDB.4.0;"
而且很奇怪的问题是,在一个数据库中有多张表,而只有一个表的查询出错。
请问大家有没有碰到过这种情况,是如何解决的?
问题点数:0、回复次数:8Top
1 楼golden24kcn(不甜)回复于 2003-11-03 09:06:58 得分 0
在DAO时代遇到过数据库无法打开等,是用的ado2.5以上的吗?有没有用set rst=cmd.execute呢?Top
2 楼klbt(快乐白兔)回复于 2003-11-08 14:39:06 得分 0
奇怪的问题,帮你顶。
Top
3 楼yoki(小马哥--鬓微霜,又何妨)回复于 2003-11-08 14:42:05 得分 0
注意你的表名、字段名等是否与2000中的保留字重名的?
如果有就用[]括起来Top
4 楼yoki(小马哥--鬓微霜,又何妨)回复于 2003-11-08 14:43:48 得分 0
根据你的描述:在一个数据库中有多张表,而只有一个表的查询出错
可能是这个表的表名问题,用[]括起来试试Top
5 楼neo40(企鹅)回复于 2003-11-09 17:41:11 得分 0
怎么会多出张表呢,不是系统表吧,Top
6 楼mylzw(芃)回复于 2003-11-09 18:06:58 得分 0
gzTop
7 楼amongwang(阿猛---VB真是好!)回复于 2003-11-09 23:13:54 得分 0
我也觉得可能是表的名称出了问题,用[]将表名括起来试一试吧!
祝好运!Top
8 楼BlueDog(身正方能顶天立地,心和才可容士纳物。)回复于 2003-11-10 12:58:09 得分 0
我试了不是这个问题,而且表名为zip,非保留字,改成myzip也是出错。
SQLStr = "SELECT short,province,city,zone,post " _
& " FROM Zip" _
& " WHERE ( short LIKE " & tempStr & ") OR (" _
& " province LIKE " & tempStr & ") OR (" _
& " city LIKE " & tempStr & ") OR (" _
& " zone LIKE " & tempStr & ") OR (" _
& " post LIKE " & tempStr & ")"
大家看我这句有没有出错,问题是我在ACCESS97也没有一点问题!
Top




