欧非资源网:安全、免费、专业放心的资源下载站! 最新软件|软件分类

您的位置:欧非资源网 > 其他专区 > Access > 同样的Access查询,直接找开或DAO打开结果正确,但使用ADO代码打开则结果不正确

同样的Access查询,直接找开或DAO打开结果正确,但使用ADO代码打开则结果不正确

时间:2019-11-10 23:31作者:admin来源:未知人气:432我要评论(0)

完全一样的Access查询,直接找开或DAO打开结果正确,但使用ADO代码打开则结果不正确

就是查询如果比较复杂的话,通过ADO获取这个查询的记录的时候,有些字段的值全部是空的

如果用Access双击打开这个查询,里面的值又是可以计算出来的,最后我只有手工的将查询的结果转存到表里,然后读表,好坑
 


 


 


 

找了个Access实例( 问卷扣分查询 与ADO代码对比)



 

查询与ADO代码对比的结果


 


 


 

查询的详细SQL视图里的语句如下:


 


 

SELECT 问卷扣分.网点代码, IIf((问卷选项.K0 Like '*4*')+(问卷选项.K0 Like '*5*')+(问卷选项.K0 Like '*6*'),-1,IIf(IIf(IsNull(问卷扣分.K0),0,问卷扣分.K0)+IIf(IsNull(问卷扣总分.K0),0,问卷扣总分.K0)<0,IIf(IsNull(问卷扣分.K0),0,问卷扣分.K0)+IIf(IsNull(问卷扣总分.K0),0,问卷扣总分.K0),0)) AS K0 FROM 问卷扣分 INNER JOIN (问卷选项 INNER JOIN 问卷扣总分 ON 问卷选项.网点代码 = 问卷扣总分.网点代码) ON 问卷扣分.网点代码 = 问卷扣总分.网点代码;

 


 


 

而使用ADO VBA代码 如下:


 

Public Sub ff()
    Dim rs As New ADODB.Recordset
    rs.Open "Select 网点代码,K0 From 问卷扣分查询1", CurrentProject.Connection
    Do Until rs.EOF
        Debug.Print rs.Fields(0).Value, rs.Fields(1).Value
        rs.MoveNext
    Loop
    rs.Close
End Sub


 

但ADO获取的结果不对。


 

经过分析,原来是 ADO 的SQL 中的通配符必须 使用 % ,而不是使用 *


 

1. 解决办法一:将查询中的 * 改为 % ,则通过  ADO调用正常 (tmtony)


 

SELECT 问卷扣分.网点代码, IIf((问卷选项.K0 Like '%4%')+(问卷选项.K0 Like '%5%')+(问卷选项.K0 Like '%6%'),-1,IIf(IIf(IsNull(问卷扣分.K0),0,问卷扣分.K0)+IIf(IsNull(问卷扣总分.K0),0,问卷扣总分.K0)<0,IIf(IsNull(问卷扣分.K0),0,问卷扣分.K0)+IIf(IsNull(问卷扣总分.K0),0,问卷扣总分.K0),0)) AS K0 FROM 问卷扣分 INNER JOIN (问卷选项 INNER JOIN 问卷扣总分 ON 问卷选项.网点代码 = 问卷扣总分.网点代码) ON 问卷扣分.网点代码 = 问卷扣总分.网点代码;
 

相关阅读 ​access怎么做点击选择学历的效果​access怎么取消冻结字段​access怎么冻结字段​access怎么删除子数据表​access怎么在表格中插入子数据表​access设置快速访问栏在功能区下方显示​access设置快速访问栏在功能区上方显示​access怎么将设计视图加到快速访问栏​access怎么将导出Excel表格加到快速访问栏​access怎么将数据表视图加到快速访问栏

文章评论
发表评论

热门文章 Microsoft Office Access 2019 官方版激活版 免费下载如何设计一个简单的Access登录窗体Access创建数据库实现图解教程access怎么求平均成绩

最新文章 ​access怎么做点击选择学历的效果​access怎么取消冻结字段 ​access怎么冻结字段​access怎么删除子数据表​access怎么在表格中插入子数据表​access设置快速访问栏在功能区下方显示

人气排行 Microsoft Office Access 2019 官方版激活版 免费下载如何设计一个简单的Access登录窗体Access创建数据库实现图解教程access怎么求平均成绩怎么在Access报表的页面页脚区添加一个计算控件Access 2007、2010、2016三个版本的使用心得Access查询标准(条件)详解电脑没有access怎么办? access文件打不开怎么办?

盖楼回复X

(您的评论需要经过审核才能显示)