Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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
Database SQL查询-日期范围工作不正常_Database_Ms Access_Ms Access 2007 - Fatal编程技术网

Database SQL查询-日期范围工作不正常

Database SQL查询-日期范围工作不正常,database,ms-access,ms-access-2007,Database,Ms Access,Ms Access 2007,我需要你的帮助来查看下面的代码。我有一个Access数据库,其中包含userform条目数据,其中包含一列条目的提交日期……基本上,这段代码的目的是收集在VBA应用程序的userform中输入的特定数据范围之间的所有条目,并填充Excel工作表中这些日期之间的所有条目。到目前为止,我已经能够通过下面的代码获得一些结果,但它的行为并没有达到预期的效果 问题是,例如,当我有3份提交材料时,一份提交给12月8日,一份提交给9日,一份提交给10日…如果我选择12月1日至11日,列表中不会出现任何内容…当

我需要你的帮助来查看下面的代码。我有一个Access数据库,其中包含userform条目数据,其中包含一列条目的提交日期……基本上,这段代码的目的是收集在VBA应用程序的userform中输入的特定数据范围之间的所有条目,并填充Excel工作表中这些日期之间的所有条目。到目前为止,我已经能够通过下面的代码获得一些结果,但它的行为并没有达到预期的效果

问题是,例如,当我有3份提交材料时,一份提交给12月8日,一份提交给9日,一份提交给10日…如果我选择12月1日至11日,列表中不会出现任何内容…当我选择12月1日至12日,则所有这3份都会被填充…如果我选择从上月到12月12日,没有填充任何内容…请查看下面的代码,并告诉我您的想法:

这就是数据存储到access服务器的方式,以防这将是我要包括的问题

  Dim todaydate As DateTime
    Dim time As Date



    todaydate = DateTime.Now.ToString("dd/MM/yyyy")
    time = DateTime.Now.ToString("HH:mm:ss")

    hideform()

    Panel_RenewForm.Width = 636
    Panel_RenewForm.Height = 201
    Panel_RenewForm.Visible = True


    Panel_RenewForm.Location = New Point(12, 191)
    Btn_Submit.Visible = False
    Btn_Clear.Visible = False



    Dim provider As String
    Dim dataFile As String
    Dim connString As String
    Dim myConnection As OleDbConnection = New OleDbConnection


    provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
    dataFile = "C:\Users\ssroujian\Documents\nsltrackerreport.accdb"
    connString = provider & dataFile
    myConnection.ConnectionString = connString
    myConnection.Open()

    Dim str As String


    ' remember to add the ID of every column in the access database here
    str = "Insert into nsltrackerreport([CBSID],[AgentName],[Supervisor],[SkillSet],[Location],[DOH],[AccountNumber],[SupportType],[CallDescription],[CallDetails],[Resolution],[FollowupRequired],[ColdTransfer],[VerifiedPipe],[MissInformed],[PrevCBSID],[NSLAgent],[SubmitDate],[SubmitTime]) Values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"

    Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)




    'this will pass values of controls to the access database to the designated column.
    cmd.Parameters.Add(New OleDbParameter("CBSID", CType(Combo_CBSID.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("AgentName", CType(Combo_AgentName.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("Supervisor", CType(Combo_Supervisor.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("SkillSet", CType(Combo_SkillSet.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("Location", CType(Combo_Location.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("DOH", CType(combo_DOH.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("AccountNumber", CType(txt_AccountNumber.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("SupportType", CType(Combo_SupportType.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("CallDescription", CType(Combo_CallDescription.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("CallDetails", CType(Combo_CallDetails.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("Resolution", CType(txt_Resolution.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("FollowupRequired", CType(txt_FollowupRequired.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("ColdTransfer", CType(txt_ColdTransfer.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("VerifiedPipe", CType(txt_VerifiedPipe.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("MissInformed", CType(txt_AgentMissInformed.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("PrevCBSID", CType(Combo_Prev_AgentCBSID.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("NSLAgent", CType(lbl_NSLAgentName.Text, String)))
    cmd.Parameters.Add(New OleDbParameter("SubmitDate", CType(todaydate, String)))
    cmd.Parameters.Add(New OleDbParameter("SubmitTime", CType(time, String)))




    Try

        cmd.ExecuteNonQuery()
        cmd.Dispose()
        myConnection.Close()


    Catch ex As Exception
        MsgBox("Unable to connect to NSL Tracker reporting database, please contact administrator and advise of the error below :" & vbCrLf & vbCrLf & ex.Message, vbCritical, "Connection Unsuccessful")

        Exit Sub

    End Try



    clearfields()


End Sub
这是根据所选日期范围在Excel文件中捕获的方式:

我想我会坚持多久 Dim CN作为新的ADODB.连接 将RS设置为新ADODB.Recordset 将FSO设置为新的FileSystemObject 将F作为文件 Dim DBPassword作为字符串 作为字符串的Dim strSQL 将目的表设置为工作表 出错时继续下一步 Set F=FSO.GetFileC:\Users\ssroujian\Documents\nsltrackerreport.accdb 错误转到0 如果F是零,那么 后藤进出口银行: 如果结束 数据库密码= 设置目的表=工作表表表1 '使用SQL的SELECT和FROM语句导入表。 strSQL=从nsltrackerport中选择nsltrackerport.*其中SubmitDate>=&DTPickerCtrl1。Value&和SubmitDate使用yyyy-m-d格式作为提交到Access db引擎的日期值

strSQL=从nsltrackerreport&_ 其中SubmitDate>=&formattPickerCtrl1.Value,yyyy-m-d&_
提交日期Debug.Print strSQL向您展示了什么?您好。。我在代码中插入了它,它给了我一个没有内存错误的对话框。。我现在数据库中只有7个条目,因此没有数据过载。我添加了一个msgboxSQLstr,并在我的第一篇文章末尾添加了结果的打印屏幕。这很有效!我真的很感谢你的帮助,非常感谢!