Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.net使用日期之间的where条件打开报表_Vb.net_Vba_Ms Access 2016 - Fatal编程技术网

VB.net使用日期之间的where条件打开报表

VB.net使用日期之间的where条件打开报表,vb.net,vba,ms-access-2016,Vb.net,Vba,Ms Access 2016,我希望在表单中能够在开始日期和结束日期之间为报表的筛选器选择日期之间 这是我目前掌握的代码 Try Dim acc_App As Object acc_App = CreateObject("Access.Application") acc_App.OpenCurrentDatabase(programpath, True) Dim strCriteria As String strCriteria = "Start

我希望在表单中能够在开始日期和结束日期之间为报表的筛选器选择日期之间

这是我目前掌握的代码

Try
        Dim acc_App As Object
        acc_App = CreateObject("Access.Application")
        acc_App.OpenCurrentDatabase(programpath, True)
        Dim strCriteria As String
        strCriteria = "Start_Date >= #" & datePicker.Text &
    "# And End_Date < #" & DateTimePicker1.Text & "#"
        lblPrueba.Text = strCriteria
        acc_App.visible = True
        acc_App.DoCmd.OpenReport("HorasTrabajadas", 2, WhereCondition:=strCriteria)
    Catch Ex As Exception

        MessageBox.Show(Ex.Message)

    End Try
End Sub
我的问题是,即使从datetimepicker获取数据,它也会在打开报表时在access上再次询问此参数。 我需要一些帮助。谢谢。

用户遵循以下代码

Try


   Dim acc_App As Object
    acc_App = CreateObject("Access.Application")
    acc_App.OpenCurrentDatabase(programpath, True)
    Dim strCriteria As String
    strCriteria = "Start_Date >= #"& datePicker.value.ToString("yyyy-MM-dd") & "# And End_Date < #" & DateTimePicker1.value.ToString("yyyy-MM-dd") & "#"
    lblPrueba.Text = strCriteria
    acc_App.visible = True
    acc_App.DoCmd.OpenReport("HorasTrabajadas", 2, WhereCondition:=strCriteria)
Catch Ex As Exception

    MessageBox.Show(Ex.Message)

End Try
End Sub

yyyy-MM-dd是日期时间的格式,您可以根据需要使用日期格式。

首先,这是创建标准字符串的脆弱代码。它要求DateTimePicker使用特定的日期格式。最好这样做:Dim strCriteria=$Start\u Date>={datePicker.Value:M/dd/yyyy}和End\u Date<{DateTimePicker1.Value:M/dd/yyyy}。无论系统或应用程序日期格式如何,这都会起作用。至于你的问题,如果你在报告中内置了参数,那么它将询问这些参数值。如果希望报表只显示所提供查询检索到的所有数据,则不需要在报表中内置任何参数。我不使用Access进行报告,因此我无法更具体地说明。当打开文件时,它仍然会再次询问值仍然是什么意思?我并不是说除非你真的改变报告,否则不会。如果报告是以提示方式编写的,那么它将提示,如果不是,则不会。我从报告中删除了条件,以便它从代码中获取条件。但当它打开access时,我必须输入开始和结束日期。我希望它从日期选择器中获取此值,而不是手动输入。它仍然不起作用,它只会在打开access时再次询问,并且不会获取报告中的任何数据。