Access 2010如何区分具有相同名称的用户

时间:2016-09-07 11:36:32

标签: sql ms-access

我有一个包含学生姓名的Access 2010数据库。每个学生都有一个唯一的ID。我想设计一个表格来记录哪个学生在哪个日期访问了图书馆。我的问题是两个或更多学生可以拥有相同的名字。

问题1: 那么如何设计表格来输入他们访问图书馆的日期。我不能指望人们记住学生姓名和他的身份。 ID只是Access中的索引列。

问题2: 我该如何设计表格?用户应首先搜索学生,然后如何为该学生添加记录?或者是否有任何字段可以让我选择学生并填写他的ID?

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

StudentsVisits表之间建立关系。

然后,在Visits表单上,创建一个组合框,您将从中选择学生(此组合的来源将是来自Students表的查询,其中将包含要识别的其他详细信息,例如middle namebirth yearcityhair color或您想要的任何内容)

并在此表单上放置Visit DateLibrary等文本框。

答案 1 :(得分:0)

  

我的问题是两个或更多学生可以拥有相同的名字。

使用LastName,FirstName MiddleInitial

所以,设置下拉列表的记录源,如下所示:

MyDropdown.RecordSource = "SELECT StudentID, " & LastName & ", " & FirstName & " " & MiddleInitial & " as StudentName FROM MyTable;"

将下拉列表中的列数设置为2,列大小设置为0; 2并将列链接设置为1.现在,您将看到学生姓名,但下拉列表的.Value将是StudentID,您可以使用后面。

  

问题1:那么如何设计表格来输入他们访问图书馆的日期。我不能指望人们记住学生姓名和他的身份。 ID只是Access中的索引列。

您可以根据具体情况或在群组中执行此操作。在具体情况下,只需要一个带有上述下拉列表的表单,以及一个显示“已访问”的按钮。该按钮将发送Insert Into SQL字符串以输入日期。像:

Dim MySQL as String

MySQL = "Insert Into MyTable ([StudentID], [LastVisited]) "
MySQL = MySQL & "Values (" & MyDropdown.Value & ", #" & Now() & "# )"

Currentdb.Execute MySQL

如果你想在一个小组中进行,那么使用连续表格显示你的所有学生,在其上放置一个复选框以确定谁在那里,然后在一个循环中一次性发送它们。这将需要更多的工作,作为一个初学者,它可能会导致更多的混乱,所以你可能想要修改那边的形式。

  

问题2:我应该如何设计表格?用户应首先搜索学生,然后如何为该学生添加记录?或者是否有任何字段可以让我选择学生并填写他的ID?

上面回答