如何过滤列表框(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)中的结果?的主要内容,如果未能解决你的问题,请参考以下文章