| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1330 人关注过本帖
标题:用sql语句查询时,出现错误提示
只看楼主 加入收藏
kent73
Rank: 1
等 级:新手上路
帖 子:61
专家分:5
注 册:2009-3-4
结帖率:46.67%
收藏
已结贴  问题点数:20 回复次数:6 
用sql语句查询时,出现错误提示
用如下语句进行查询,出现了错误提示,请帮助看看哪里有问题。谢谢!

sql = "SELECT A.hth, A.pf, B.ylpf, B.ylsh, B.cgfs, Sum(B.dh*A.sl) AS yyl FROM A INNER JOIN B ON (A.hth = B.hth) AND (A.pf = B.pf) GROUP BY A.hth, A.pf, B.ylpf, B.ylsh, B.cgfs where A.hth='" & & "' ORDER BY A.pf ASC "


错误提示:
实时错误 ‘-2147217900 (80040e14)’:语法错误(操作符丢失)在查询表达式’b.cgfs where a.hth=’a123’’中。
搜索更多相关主题的帖子: sql 语句 提示 查询 
2010-10-29 19:23
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:0 
把你的  SQL 命令字符串 全部显示出来,然后仔细看看,

看看 where 这附近 那里的字符串 出现错误。

你这样的提问,看不出东西来了。


授人于鱼,不如授人于渔
早已停用QQ了
2010-10-29 19:43
kent73
Rank: 1
等 级:新手上路
帖 子:61
专家分:5
注 册:2009-3-4
收藏
得分:0 
不好意思,整段代码如下:
Dim i, sql
 Dim rs As New ADODB.Recordset, cn As New ADODB.Connection
 
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
 If = "" Then
  MsgBox "只有输入了合同号,才能进行查询!", vbOKOnly, "提示"
 Exit Sub
 End If
 If rs.State = adStateOpen Then rs.Close
          sql = "SELECT A.hth, A.pf, B.ylpf, B.ylsh, B.cgfs, Sum(B.dh*A.sl) AS yyl FROM A INNER JOIN B ON (A.hth = B.hth) AND (A.pf = B.pf) GROUP BY A.hth, A.pf, B.ylpf, B.ylsh, B.cgfs where A.hth='" & & "' ORDER BY A.pf ASC "
    cn.CursorLocation = adUseClient
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb;Jet OLEDB:Database Password=;Persist Security Info=False;"

        rs.Open sql, cn, 1, 1
        Set Me.DataGrid1.DataSource = Nothing
        Set Me.DataGrid1.DataSource = rs
2010-10-29 19:56
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:20 
sql = "SELECT A.hth, A.pf, B.ylpf, B.ylsh, B.cgfs, Sum(B.dh*A.sl) AS yyl FROM A INNER JOIN B ON (A.hth = B.hth) AND (A.pf = B.pf) where A.hth='" & & "' GROUP BY A.hth, A.pf, B.ylpf, B.ylsh, B.cgfs  ORDER BY A.pf ASC"
这样试试。

无知
2010-10-29 23:30
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:0 

        rs.Open sql, cn, 1, 1

这行前面加一个 Debug.print sql
然后把 在立即窗口 显示的 字符串 复制出来检查。

光看代码,SQL 命令错误,有些时候是看不出来的。

授人于鱼,不如授人于渔
早已停用QQ了
2010-10-30 10:26
kent73
Rank: 1
等 级:新手上路
帖 子:61
专家分:5
注 册:2009-3-4
收藏
得分:0 
以下是引用Artless在2010-10-29 23:30:45的发言:

sql = "SELECT A.hth, A.pf, B.ylpf, B.ylsh, B.cgfs, Sum(B.dh*A.sl) AS yyl FROM A INNER JOIN B ON (A.hth = B.hth) AND (A.pf = B.pf) where A.hth='" & & "' GROUP BY A.hth, A.pf, B.ylpf, B.ylsh, B.cgfs  ORDER BY A.pf ASC"
这样试试。
问题解决了
谢谢
2010-10-30 20:07
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:0 
以下是引用kent73在2010-10-30 20:07:34的发言:

问题解决了
谢谢

是那样解决的吗?
请结贴。

无知
2010-10-31 00:19
快速回复:用sql语句查询时,出现错误提示
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012645 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved