大意失荆州-记VBA+ACCESS通配符问题

因工作需要开发了一个以VBA+ACCESS为基础的小系统,但是在提取数据的时候却出现一个烦人的问题,在access环境下本可以正常执行的SQL却在VBA下“不能正常”执行,还没有任何错误提示,分析下问题出现的原因可能是:

1、VBA逻辑错误,导致写入的数据又被删除。

经过单步调试未发现逻辑上的异常,排除此项

2、上步写入的基础表数据未及时提交(commit)导致数据源为空,查询不到数据

更换数据库文件,确保文件中数据已写入,单独执行出问题的SQL,还是没有相应的结果出现,排除数据源的问题

3、SQL本身的问题

这项是我最没有想到的一点,因为在多年的工作中一直秉承先完成SQL再做SQL拼接的工作,按道理是不会出现任何问题,即使有问题也应该报出一些语法上的错误提示,但是到这里也只能是死马当活马医,去除所有的查询条件,执行,居然有数据!加上一个条件,执行!还是有数据,再加上一个like操作的查询条件,数据为空!确认问题原因,是查询语句出现问题,马上百度了一下VBA中关于SQL模糊查询的问题,终于搞清楚问题出现的原因,在VBA中模糊查询的通配符是%(百分号),但是在access中的通配符却是*(星号),正是通配符错误的使用导致出现上述问题。


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值