Database SQL查询-日期范围工作不正常
我需要你的帮助来查看下面的代码。我有一个Access数据库,其中包含userform条目数据,其中包含一列条目的提交日期……基本上,这段代码的目的是收集在VBA应用程序的userform中输入的特定数据范围之间的所有条目,并填充Excel工作表中这些日期之间的所有条目。到目前为止,我已经能够通过下面的代码获得一些结果,但它的行为并没有达到预期的效果 问题是,例如,当我有3份提交材料时,一份提交给12月8日,一份提交给9日,一份提交给10日…如果我选择12月1日至11日,列表中不会出现任何内容…当我选择12月1日至12日,则所有这3份都会被填充…如果我选择从上月到12月12日,没有填充任何内容…请查看下面的代码,并告诉我您的想法: 这就是数据存储到access服务器的方式,以防这将是我要包括的问题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日,列表中不会出现任何内容…当
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,并在我的第一篇文章末尾添加了结果的打印屏幕。这很有效!我真的很感谢你的帮助,非常感谢!