在 VBA 记录集的 Filter 属性中使用 NOT LIKE

发布于 2024-08-17 04:42:26 字数 420 浏览 6 评论 0原文

我正在使用 Excel 2003 通过 VBA 记录集连接到 SYBASE 数据库。我想过滤记录。

以下是我使用过的代码。

Dim rset As New ADODB.Recordset
rset.Open sQuery, m_db, adOpenForwardOnly
rset.Filter = "Name NOT LIKE 'Dav%'"
rset.Requery

但它不起作用并返回所有行。如果我使用 Name LIKE 'Dav%',它会正确返回 Name 以“Dav”开头的记录。

Not LIKE 有什么问题?我错过了什么吗?

另外,我需要使用 Requery 来使过滤器工作。真的需要吗?

I am using Excel 2003 to connect to a SYBASE database using a VBA recordset. I want to filter the records.

The following is code I have used.

Dim rset As New ADODB.Recordset
rset.Open sQuery, m_db, adOpenForwardOnly
rset.Filter = "Name NOT LIKE 'Dav%'"
rset.Requery

But it is not working and returning all rows. If I use Name LIKE 'Dav%', it's correctly returning records with Name starting with 'Dav'.

What is the problem with Not LIKE? Am I missing something?

Also, I need to use Requery to get the filter work. Is it really required?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无畏 2024-08-24 04:42:27

过滤器属性中不允许使用 NOT 关键字。

The NOT keyword is not allowed in the filter property.

如痴如狂 2024-08-24 04:42:27

也许您可以在 sQuery 值中包含 NOT LIKE。
喜欢:

select * from NamesTable where [name] NOT LIKE 'Dav%'

Maybe you can include the NOT LIKE in the sQuery value.
Like:

select * from NamesTable where [name] NOT LIKE 'Dav%'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文