如何过滤列表框(VB)中的结果?

Posted

技术标签:

【中文标题】如何过滤列表框(VB)中的结果?【英文标题】:How to filter results in listbox (VB)? 【发布时间】:2015-10-30 09:04:01 【问题描述】:

我正在使用 Visual Studio,并且我正在使用来自数据库的列作为 DataSource 和 DisplayMember。因此,我的表单上的列表框有一个在我的数据库中找到的名称列表。在同一个数据库(Microsoft Access Database 2003)中,我有一个名为 Date 的列。我希望列表框只显示与今天日期相对应的名称(日期为数字形式;只有一个月中的一天(1 到 31)。我可以在 vb 上使用 Today.Day 来检查今天的月份)。请帮忙!

【问题讨论】:

当您从数据库中获取数据时,调整您的 sql 查询以仅返回日期为今天的行。 【参考方案1】:

你的列表框的数据源应该是

SELECT [Name] FROM MyTable WHERE [Date] = Day(GetDate());

您可能需要将其更改为

SELECT [Name] FROM MyTable WHERE [Date] = Day(Now());

在第一种情况下,这将适用于 SQL Server。在第二种情况下,这将在 VBA 中工作。根据您的问题,我不太清楚这是在哪里运行的。

另外,只是一个前进的建议。避免在字段名称中使用“保留字”。例如,Date 是保留字。当您将它用作字段名称并尝试在查询中引用它时,您必须将它括在括号中,否则它将不起作用。这比它的价值更麻烦。我所做的就是将日期字段称为“MyDate”或“StDate”之类的东西,然后我就不必担心会被括号绊倒。与Name相同,也是保留字。

【讨论】:

都没有用!我想编辑列表框的属性,以便它现在只显示日期的名称。我是visual basic,顺便说一句,你放的分号不适用于这种语言,所以如果我必须把它放在Access数据库中然后告诉我

以上是关于如何过滤列表框(VB)中的结果?的主要内容,如果未能解决你的问题,请参考以下文章

vb中图片框如何清除里面的所有内容?

VB列表框属性的问题

在列表框中显示所有记录

如何获得MFC列表框中选中的数据

如何根据文本框值过滤列表框值

VB中列表框List赋值并在文本框输出