vb 提示SELECT 子句中包含一个保留字,拼写错误或丢失的参数

Private Sub FormSizes()
Adodc1.ConnectionString = DataConnectString 'Adodc1连接
Adodc1.CommandType = adCmdText '设置记录源
Adodc1.RecordSource = "select * from 产品配件 order by 编号"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
i = Adodc1.Recordset.RecordCount - 1
If (i Mod 2 = 0) Then
Me.Frame1.Height = 600 + (500 * (i / 2)) + 600
Me.Height = 2000 + 800 + (500 * (i / 2))
Else
Me.Frame1.Height = 600 + (500 * ((i + 1) / 2)) + 600
Me.Height = 2000 + 800 + (500 * ((i + 1) / 2))
End If
Else
Me.Height = 12000
Me.Frame1.Height = 600
End If
End Sub

第1个回答  推荐于2018-03-21
应该是SQL语句中有些字段名是ACCESS数据库的关键字了,把觉得像关键字的用[]括起来,如:
select [a.type],[a.class] from [member] a
SELECT TOP 4(Article.*),Member.M_Name
FROM Article INNER JOIN MemberInfo ON Article.A_AdderId=Member.M_Id
WHERE Article.A_TypeId = @ty ORDER BY Article.A_AddDate DESC
改为:
SELECT TOP 4(Article.*),Member.M_Name
FROM Article INNER JOIN MemberInfo Member ON Article.A_AdderId=Member.M_Id
WHERE Article.A_TypeId = @ty ORDER BY Article.A_AddDate DESC
第2个回答  2013-10-12
猜测是调用时机不对或者是属性值超出了有效界限引起的

你调试的时候看看 2000 + 800 + (500 * ((i + 1) / 2))运算后的值是多少

再看下调用堆栈,确认调用的时机是合理的,

Private Sub FormSizes()是你自己写的过程吧?原版应该是Private Sub Form_Resize(),把你布置界面的代码放到这个过程中就可以了 ^_^

希望能帮到你……追问

还是没找出来!

本回答被网友采纳
第3个回答  2020-06-06
如果怎么检查都没发现哪有错时,我的经验就是把那个语句删除,在重新打一遍
第4个回答  2013-10-12
Adodc1.RecordSource = "select * from [产品配件] order by [编号]"追问

还是不行,我调试过程中发现错误发生在
Me.Height = 2000 + 800 + (500 * (i / 2))或
Me.Height = 2000 + 800 + (500 * ((i + 1) / 2))
这两句上,我猜测是不是Me这个关键字的原因。但是我把Me改成实际的窗体名称,还是提示这个错误!

追答

SELECT 子句中包含一个保留字,拼写错误或丢失的参数
这个错误只可能发生在SQL命令中
请确认数据库中是否有“产品配件”这个表名,以及这个表中有没有“编号”这个字段,如果没有(或者有错字、多音字等),就会提示上述错误信息。

本回答被提问者采纳
第5个回答  2013-10-12
VB提示出错,指示哪一句错误,应该停留在哪一句上!
你确定该数据表的名称为:产品配件,并且有字段:编号

...子句中包含一个保留字,拼写错误或丢失的参数
应该是SQL语句中有些字段名是ACCESS数据库的关键字了,把觉得像关键字的用[]括起来,如:select [a.type],[a.class] from [member] a SELECT TOP 4(Article.*),Member.M_Name FROM Article INNER JOIN MemberInfo ON Article.A_AdderId=Member.M_Id WHERE Article.A_TypeId = @ty ORDER BY...

...子句中包含一个保留字,拼写错误或丢失的参数,或标点符号不正确_百 ...
你代码中 timerecords.sign_time as cc"&_"from (employee 这部分,当运行时,from关键字 和 前面的cc连在一起了,有些问题 改成 timerecords.sign_time as cc "&_"from (employee

...报SELECT 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号...
Memo这个是保留字,不能直接做字段名的,实在要用必须加方括号,即 sqlProduct=sqlProduct & " ID,Product_Id,BigClassName,SmallClassName,IncludePic,Title,Price,Spec,Unit,[Memo],DefaultPicUrl,UpdateTime,Hits from Product where Passed=True "建议你尽量不要用单个英文单词做字段名,以免不小心和...

SELECT 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确...
可能是字段拼写错误.sql = "select top "&s&" link,web,sm from china_link where "&w&" and city_oneid="&c1&" and city_twoid="&c2&" and city_threeid="&c3&" order by id"'用response.write(sql) 打印出sql语句,看具体错在什么地方?set rs = conn.execute(sql)

SELECT 子句中包含一个保留字,拼写错误或丢失的参数,或标点符号不正确...
string strSql = string.Format("select top {0} 1.这里差列名可以用*代替 from [Admin] where 2.这里差列名> (select top 1 3.top 1多余 max(id) from (select top {1} 4.这里差列名可以用*代替 from [Admin] where {2} order by id desc))", PageSize, PageSize * (PageIndex -...

SELECT 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确...
在rs.Open SQL,conn 这句之前加上 response.write(sql)response.end()看看浏览器打印出来的SQL语句和预期的sql语句差在那里,就知道那个参数没有接收到值了。

select 子句中包含一个保留字,拼写错误或丢失的参数,或标点符号不正确...
你先 这些 执行 select 客户产品,客户名,零件号,月发货数量 from [外销发货查询] 看有没有 错误 如果没有 就加上 UNION 再把 上条sql 复制到下一条 把 表名 [外销发货查询] 改为 [实物库进A查询]然后执行 上面sql 没有错误 然后第三sql 同上 去执行 这样就很快...

...子句中包含一个保留字,拼写错误或丢失的参数,或标点符号不正确_百 ...
你注意看,拼好的strSql中,as 成绩与后面的from之间是没有空格的,也就是as 成绩from xxx,这样当然不行,改成as 成绩 "或者" from都可以。这个语句也可以写作 strSql="select a.sno as 学号,a.sname as 姓名,c.cname as 课程,b.grate as 成绩 from student a,sc b,course c where a....

SELECT 子句中包含一个保留字,拼写错误或丢失的参数,或标点符号不正确...
看到这个位置没有 这个()是全角的 应该用半角符号 你对比下下面的括号的间隔。

用友软件教育专版出现“SELECT子句中包含一个保留字拼写错误或丢失的参...
这种一般是数据库出现问题了,建议你重新建立账套,如果所有的账套都是这样的话就只能重装一下软件了。

相似回答