【发布时间】:2009-12-07 06:47:02
【问题描述】:
不久之前,我使用代码从数据库中获取两个日期之间的日期(日期为 dd/mm/yy 的列),我认为第一次效果很好,代码是:
Dim b As New Date
Dim a As Integer
a = Val(tx2.Text)
b = System.DateTime.Today
b = b.AddDays(-a)
MsgBox(b)
Conn.Open()
SQLstr = " Select * from tb where lastvstart BETWEEN #01/01/1800# AND #" & b & "#"
Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
DataSet1.Clear()
DataAdapter1.Fill(DataSet1, "Tb")
Conn.Close()
如你所见,代码让用户插入一个数字并减去它形成今天的日期,然后计算我想要的日期,然后我使用 BETWEEN 子句获取它们之间的所有日期
但是现在,这段代码获取了一些数据并超过了其他的,我的意思是一些日期在两个日期之间,但代码永远不会得到它,为什么会发生这种情况?
【问题讨论】:
-
@Tony Toews 我相信 ms-access-2007 和其他标签一样重要,因为它被广泛使用。
-
当然,问题根本与 Access 无关,因为只有 Jet/ACE 正在使用中。但是下面cmets中的原始问题表明他使用的是A2007,所以我认为2007标签是合适的,如果该标签应该存在的话(而且我不相信版本特定的标签应该首先存在)。
-
@David W. Fenton:“当然,问题根本与 Access 无关,因为只有 Jet/ACE 在使用”——当然是:Access 数据库引擎。如果您列举“ACE”可能会有所帮助——“A”现在代表什么?包括微软在内的全世界都将引擎称为“Access”。为什么 Stackoverflow 应该有所不同?
标签: vb.net ms-access oledb ms-access-2007