请原谅我;通过大量的SQL经验,我很少有MS Access的经验。
这是基本的数据结构:
我有一个雇员表、一个培训表和一个加入Employee_Training表(多到多关系)。有一个员工列表,以及这些员工可以进行的培训列表。任何员工都可能参加过几次培训,每次培训都有记录的出勤日期。
我试图制作一个以下列方式执行的表单:
大致布局:
Select Employee: [ John Smith | v ]
Training type 1: [ ] Training type 25: [ ]
Training type 2: [ ] Training type 26: [ 05/06/15 ]
Training type 3: [ ] Training type 27: [ ]
... ...这个表单最初是手工创建的,但现在是由一个VBA脚本创建的,尽管我认为这在这里不太相关。
如何构造表单的记录源和文本框的控制源,使我能够看到我想要看到的内容,并编辑我需要编辑的内容?
发布于 2017-09-22 12:33:55
你必须把数据库中的表格删除。如果使用Recordset对象,可以使用绑定到comboboxes的查询和一些小的vba代码将数据保存到表中。我认为access中的打印更灵活,如果你使用报告而不是表格:)
发布于 2017-09-22 18:24:12
首先,为了打印出数据,您将创建一个报告。因此,不要认为由于重复数据,您这里有一些问题或问题。你可以把你的报告格式化成发票之类的。你有“许多”选择的想法影响了这个选择,这是一个简单的没有问题的想法。您的表单/报表可能不会包含所有的150个选项,并且很难阅读。如果你真的必须的话,那么你可以包括所有的150个选择,以及“唯一”选择的日期。
下一步:尝试在表单上显示150个选项将非常困难--您在表单上很快就没有空间了。即使是上面的模拟也显示了一个数据表,就像重复的数据显示--如果它持续了150行,那么如果不使用某种重复的数据显示,就不太可能在屏幕上安装所有这些。
想一想你使用的任何现有软件--一次看到150种选择是非常罕见的--你必须从列表中“选择”。想一想会计包中的发票表格--你可以显示所有的选择--你必须滚动或“搜索”一下,缩小选择范围。
最简单的方法是根据员工的名字、电话和所有的爵士音乐来确定主表单。然后,子窗体将显示一个组合框以选择培训/课程,然后显示一个日期框以输入日期。(该日期甚至可以自动推迟到今天,或课程开始日期或其他任何日期)。
结果就是你点+拍,点+拍--就像点击,点击过程的类型。
下面是Access中的发票表单示例。为了制作这个动画,我没有碰键盘--只是鼠标点击、鼠标点击等等。不过,组合框确实允许部分匹配和搜索,以缩小显示的列表范围(同样,长列表不想折磨用户!)因此,您可以在组合框中键入“几个”字符,以缩小选择列表。

我的意思是,不管是哪种方式,你都会强迫用户从150个选择中选择。然而,只要“滚动”150种选择,就能看到这个人所选的课程,这对用户来说将是一种折磨。
因此,只显示所选的课程-这样,当你培养一个学生,你可以很容易地看到他们有什么课程,正如下面的动画显示,这将是一个简单的添加额外的课程。
如前所述,下拉式列表可以“删除”现有的选项,或者,如果已经选择了任何课程,则显示日期。在update事件之前,将向组合框中添加防止重复的简单逻辑。
https://stackoverflow.com/questions/46364512
复制相似问题