我有一个包含学生姓名的Access 2010数据库。每个学生都有一个唯一的ID。我想设计一个表格来记录哪个学生在哪个日期访问了图书馆。我的问题是两个或更多学生可以拥有相同的名字。
问题1: 那么如何设计表格来输入他们访问图书馆的日期。我不能指望人们记住学生姓名和他的身份。 ID只是Access中的索引列。
问题2: 我该如何设计表格?用户应首先搜索学生,然后如何为该学生添加记录?或者是否有任何字段可以让我选择学生并填写他的ID?
有什么想法吗?
乔
答案 0 :(得分:0)
在Students
和Visits
表之间建立关系。
然后,在Visits
表单上,创建一个组合框,您将从中选择学生(此组合的来源将是来自Students
表的查询,其中将包含要识别的其他详细信息,例如middle name
,birth year
,city
,hair color
或您想要的任何内容)
并在此表单上放置Visit Date
,Library
等文本框。
答案 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?
上面回答