0

您好,我创建了一个访问表单,如下所示:http://imgur.com/XS0vE08

我可以做到,所有过滤器都可以工作,除了年份和长度过滤器。Year 框未绑定,左侧称为Year1,右侧称为Year2。我尝试使用Me.Filter代码,但它不起作用。它不会出现错误,只是不会过滤我的数据。所以我需要做的是让用户可以在Year1Year2中输入一年,并过滤这两年之间的数据。例如,他们将 2000 放在Year1中,将 2010 放在Year2中,然后当他们运行查询时,它只显示从 2000 年到 2010 年的数据。

这是我目前正在使用的代码:

 Private Sub Year2_AfterUpdate()
 Me.Filter = "[Year] BETWEEN #" & Me.Year1 & "# AND #" &  Me.Year2 & "#"
 Me.Filteron = true

任何帮助将非常感激!:) (如果你能解释什么代码做什么,那也将不胜感激,这样我就可以自己学习编写它,这样我就能更好地理解!谢谢!)

4

2 回答 2

1

当您在过滤器中使用日期文字时,您只能使用“#”字符。如果它只是一个数字,您将使用:

 Me.Filter = "[Year] BETWEEN " & Me.Year1 & " AND " &  Me.Year2

如果 [Year] 实际上是一个日期,那么您应该使用:

 Me.Filter = "[Year] BETWEEN #01/01/" & Me.Year1 & "# AND #12/31/" &  Me.Year2 & "#" 

[Year] BETWEEN #01/01/2010# AND #12/31/2011#如果您在年份文本框中输入 2010 和 2011,这将评估为。

于 2013-02-28T23:43:22.087 回答
0

您必须使用查询名称 (frmAufträgeQuery) 而不是表单 (frmAufträge):

出错时继续下一步

FromDate = "01.01.2021"

ToDate = "01.04.2021"

Me.Filter = "([frmAufträgeQuery].[Administrativ abgeschlossen] 介于 #" & Format(FromDate, "yyyy-mm-dd") & "# AND #" & Format(ToDate, "yyyy-mm-dd") & “#)”

Me.FilterOn = 真

于 2021-03-25T11:46:05.193 回答