使用SQL的MS Access数据库查询

时间:2014-02-03 09:19:30

标签: sql ms-access ms-access-2010

我目前正在使用一个简单的数据库来为我们学院的教授出席。我正在使用MS Access 2010和一个主表,其中包括所有教授的出勤日志及其信息,如ID号,姓,名,登录和注销。

我只是想问一下如何创建一个基于教授身份编号过滤记录的查询,以便在一个特定的表中查看他们的登录/注销信息。

主表包括ff:

ID Num   |Surname  |Firstname  |Login   |Logout
1002      LName3     FName3     10:30pm  11:00pm
1000      LName1     FName1     12:00pm  12:30pm
1001      LName2     FName2     14:00pm  15:00pm
1001      LName2     FName2     16:00pm  17:00pm

我希望输出如下:

_For LName1, FName1 (IDnum=1000)_
Login      |  Logout
12:00pm  12:30pm

_For LName2, FName2 (IDnum=1001)_
Login      |  Logout
14:00pm  15:00pm
16:00pm  17:00pm

_For LName3, FName3 (IDnum=1002)_
Login      |  Logout
10:30pm  11:00pm

谢谢!

1 个答案:

答案 0 :(得分:0)

  

目前,我可以使用查询创建表。我只需要知道如何自动运行查询,以便在“Main”表添加新记录后更新表。

您可能根本不需要“创建[新]表格”。如果在Access中创建保存的“选择查询”(在其他数据库应用程序中也称为“查看”),则只要您引用该保存的查询,就会从主表中获取最新信息。因此,例如,如果您的[MainTable]包含

ID Num  Surname  Firstname  Login     Logout  
------  -------  ---------  --------  --------
  1002  LName3   FName3     22:30:00  23:00:00
  1000  LName1   FName1     12:00:00  12:30:00
  1001  LName2   FName2     14:00:00  15:00:00
  1001  LName2   FName2     16:00:00  17:00:00

并在Access中创建一个名为[ActivityFor1001]的已保存查询,在设计视图中显示如下所示

DesignView.png

然后它将返回此

ID Num  Login     Logout  
------  --------  --------
  1001  14:00:00  15:00:00
  1001  16:00:00  17:00:00

如果在主表中添加了新行:

1001  LName2   FName2     20:00:00  21:00:00

然后下次运行保存的查询时它将返回

 ID Num  Login     Logout  
------  --------  --------
  1001  14:00:00  15:00:00
  1001  16:00:00  17:00:00
  1001  20:00:00  21:00:00