首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MS Access中将来自不同表的字段链接到表单中

如何在MS Access中将来自不同表的字段链接到表单中
EN

Stack Overflow用户
提问于 2017-09-22 12:11:12
回答 2查看 2.1K关注 0票数 0

请原谅我;通过大量的SQL经验,我很少有MS Access的经验。

这是基本的数据结构:

我有一个雇员表、一个培训表和一个加入Employee_Training表(多到多关系)。有一个员工列表,以及这些员工可以进行的培训列表。任何员工都可能参加过几次培训,每次培训都有记录的出勤日期。

我试图制作一个以下列方式执行的表单:

  • 您可以从页面顶部的组合框中选择员工。
  • 该表单包含所有可能的培训课程的列表,每个培训班都有一个标签和一个文本框。如果员工参加了培训,则相应的文本框中包含考勤日期,否则文本框为空。
  • 我希望能够在空白文本框中输入日期,或者在非空白文本框中更改日期。
  • 我不能使用DataSheet视图,因为大约有150个培训类型,需要将其转换为可打印的表单,因此信息在表单上的列中被压缩,如下所示:

大致布局:

代码语言:javascript
复制
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脚本创建的,尽管我认为这在这里不太相关。

如何构造表单的记录源和文本框的控制源,使我能够看到我想要看到的内容,并编辑我需要编辑的内容?

EN

回答 2

Stack Overflow用户

发布于 2017-09-22 12:33:55

你必须把数据库中的表格删除。如果使用Recordset对象,可以使用绑定到comboboxes的查询和一些小的vba代码将数据保存到表中。我认为access中的打印更灵活,如果你使用报告而不是表格:)

票数 0
EN

Stack Overflow用户

发布于 2017-09-22 18:24:12

首先,为了打印出数据,您将创建一个报告。因此,不要认为由于重复数据,您这里有一些问题或问题。你可以把你的报告格式化成发票之类的。你有“许多”选择的想法影响了这个选择,这是一个简单的没有问题的想法。您的表单/报表可能不会包含所有的150个选项,并且很难阅读。如果你真的必须的话,那么你可以包括所有的150个选择,以及“唯一”选择的日期。

下一步:尝试在表单上显示150个选项将非常困难--您在表单上很快就没有空间了。即使是上面的模拟也显示了一个数据表,就像重复的数据显示--如果它持续了150行,那么如果不使用某种重复的数据显示,就不太可能在屏幕上安装所有这些。

想一想你使用的任何现有软件--一次看到150种选择是非常罕见的--你必须从列表中“选择”。想一想会计包中的发票表格--你可以显示所有的选择--你必须滚动或“搜索”一下,缩小选择范围。

最简单的方法是根据员工的名字、电话和所有的爵士音乐来确定主表单。然后,子窗体将显示一个组合框以选择培训/课程,然后显示一个日期框以输入日期。(该日期甚至可以自动推迟到今天,或课程开始日期或其他任何日期)。

结果就是你点+拍,点+拍--就像点击,点击过程的类型。

下面是Access中的发票表单示例。为了制作这个动画,我没有碰键盘--只是鼠标点击、鼠标点击等等。不过,组合框确实允许部分匹配和搜索,以缩小显示的列表范围(同样,长列表不想折磨用户!)因此,您可以在组合框中键入“几个”字符,以缩小选择列表。

我的意思是,不管是哪种方式,你都会强迫用户从150个选择中选择。然而,只要“滚动”150种选择,就能看到这个人所选的课程,这对用户来说将是一种折磨。

因此,只显示所选的课程-这样,当你培养一个学生,你可以很容易地看到他们有什么课程,正如下面的动画显示,这将是一个简单的添加额外的课程。

如前所述,下拉式列表可以“删除”现有的选项,或者,如果已经选择了任何课程,则显示日期。在update事件之前,将向组合框中添加防止重复的简单逻辑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46364512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档