Ms access 查询>在VB中检查今天日期

Ms access 查询>在VB中检查今天日期,ms-access,date,vb6,Ms Access,Date,Vb6,我已经在Microsoft Access中创建了数据库 有了这个疑问 SELECT * from booking WHERE BOOK_DATE = DATE() order by book_time* 它返回3条记录,其中BOOK_DATE=today DATE 但是 当我尝试将其放置在带有数据控件和DBGrid的Visual Basic中时,我在RecordSource属性中输入了查询,但在执行程序时数据没有显示出来 我错过了什么约会 它在vb中不支持吗?我应该用别的东西替换它吗 其中B

我已经在Microsoft Access中创建了数据库

有了这个疑问

 SELECT * from booking WHERE BOOK_DATE = DATE() order by book_time*
它返回3条记录,其中BOOK_DATE=today DATE

但是

当我尝试将其放置在带有数据控件和DBGrid的Visual Basic中时,我在RecordSource属性中输入了查询,但在执行程序时数据没有显示出来

我错过了什么约会 它在vb中不支持吗?我应该用别的东西替换它吗


其中BOOK_DATE=DATE

VB6知道日期,因为我最近使用过它。我怀疑数据控件无法处理RecordSource中的内置函数,如DATE。您是否可以更改代码中的记录源,例如在forms Open event或任何适当的格式中,以输入日期?比如:

Control.RecordSource="SELECT * from booking WHERE BOOK_DATE = " & _
     "#" &  DATE() & "# order by book_time* 
请注意,日期分隔符类似于“或引号或双引号”是分隔符的方式。假设数据控件的工作原理与我在Access中使用的相同。也要注意,虽然有时你并不需要这些,但你应该意识到它们

此外,如果任何系统运行的不是mm/dd/yy格式,或者即使有一点点可能发生这种情况,您也应该注意以下几点

SQL语句要求日期要么完全明确,要么采用mm/dd/yy或mm/dd/yyyy格式。否则Access/Jet最好根据其使用的具体日期解释结果未知的日期。您不能假设您正在使用的系统正在使用这些日期格式。因此,您应该在下面的网页上使用该逻辑。 美国mm/dd/yyyy格式的返回日期

在我尝试了几种方法之后,我发现其实是我的错。 但新的问题出现了

查询SELECT*from BOOK_DATE=DATE在VB中实际工作

它无法工作的原因是没有包含BOOK_DATE=today DATE的记录 但是为什么会发生这种情况,因为有些记录的BOOK_DATE=today日期是VB无法找到的

有可能是我在MS Access中创建的数据库或VB本身有错误。 Access和VB中显示的相同表格甚至有所不同

让我解释一下。我已经在MS Access中创建了一段时间的数据库,其中包含一些记录。我只谈论特定的表“预订” 所以这些记录包含不同的日期范围

但一旦我使用VB,我想我想尝试在DBGrid中显示具有“今天日期”的数据,因此我返回MS Access并编辑一些记录,将其日期更改为2010年10月12日或10月15日

然后我切换回VB,我尝试用简单的查询SELECT*fromBooking显示数据。 但是表中显示的记录是我更改日期12,15之前的数据

这就是我想知道的,为什么Access中的数据我已经编辑并保存了,但它没有在VB DBGrid中更新。 结果是,无论我在Access中更改了多少信息,vb都不会更新表,而是继续显示旧表


你的VB代码看起来像什么?它是一个简单的表单,带有查询。如果我在属性中给出一个查询,比如select*from booking,DBGrid将显示表中的所有数据,但是它失败了,其中BOOK\u DATE=DATEwith select*from booking我得到了这个:而select*from booking WHERE BOOK\u DATE=dateorder by BOOK\u time我得到了这个:噢!我发现了一些东西,booking inside Access表中的数据与VB调用的数据不同,为什么会发生这种情况!我相信Access就是这样显示日期的。我还不明白为什么这个查询不起作用。也许你没有看到所有的评论你的语法帮助很大,谢谢。最后我解决了它:我从urs中得到了解决方案,我解决了查询>从booking中选择表id,其中book_time='&lstBooking1_time.Text&'和book_date=&txtBooking1_date.Text&结果是我用相同的名称在两个不同的目录中保存了相同的数据库。真是一部史诗。花了整整一个晚上才明白这一点:悲伤