Excel的表和Access通用,就是不能放图片附件
需要注意的是,头像图片在Access数据库里以附件的形式存在,在Excel里保存图片恐怕不是很简单。这也是Access比Excel的优点所在。
表是数据库的基础,数据库所有的操作都围绕表来进行。
2.制作窗体
我们在最终效果展示里,已经演示了窗体里的各项元素分布,3个筛选控件全部都是列表框(英文listbox)。
在窗体的设计视图里,在控件栏里找到列表框,用鼠标点住不放,拉到窗体里就生成了。
子窗体的生成方法有两种,一种是直接把表拉到窗体的设计视图里,一放开鼠标,自动生成了一个子窗体。
另一种方法是先制作一个查询,再把查询拉入窗体视图里生成子窗体。两种方法略有不同,各有利弊,本教程采用第一种方法,直接用表生成子窗体。
生成控件和子窗体之后,要对控件进行必要的美化和编号,便于未来的操作。
比如将筛选控件“角色阵营”列表框命名为“list1”,“性别”命名为“list2”,“姓名”命名为“list3”。
根据展示需要,“表1 子窗体”在“属性表”里将“默认视图”设置为“数据表”。
“表1 子窗体1”在“属性表”里将“默认窗体”设置为“单个窗体”。
3.控件数据注入
现在3个筛选控件里还没有数据,是一片空白,我们要向里面注入数据。
3个list控件的数据源都是同一张表1。
主窗体进入设计视图,选择list1“角色阵营”,点击“属性表”-“数据”-“行来源”的三个点,会进入“查询生成器”。
首先鼠标点击一下下面的字段,把“属性表”-“唯一值”选择“是”,如果不选择是,list里的数据会大量重复。
然后把“表1”拉进“查询生成器”,把查询生成器里的“角色阵营”字段拉进下面的查询字段里。保存一下。
再进入主窗体,角色阵营里已经有数据了,分别是正面和反面。
按照相同的步骤,将list2“性别”和list3“姓名”注入相应的数据字段。
需要注意的是,list3“姓名”字段是受到前两个控件的控制的,也就是说我们选择“角色阵营”和“性别”的时候,list3是被筛选的。具体步骤我们马上讲解。
4.查询设计
这个部分是本案例的重点和难点,查询功能是Access的优势功能,Excel里没有对应的功能。
我们来逐一对控件进行查询和自动化设计。
上个章节我们讲到,list3“姓名”字段受到list1和list2的控制,具体是怎么被控制的呢?
我们点击list3-“属性表”-“数据”-“行来源”点击三个点,进入“查询生成器”,把“角色阵营”和“性别”字段也拉到下方的查询字段里。
在“角色阵营”的“条件”里输入下面的SQL代码:
Like [Form]![人员台账]![List1] &”*”
这行代码的含义是,“姓名”字段有筛选条件“角色阵营”,这个“角色阵营”在窗体“人员台账”的“list1”控件里,下同。
在“性别”的“条件”里输入下面的SQL代码:
Like [Form]![人员台账]![List2] &”*”
“表1 子窗体”和“表1 子窗体1”两个是嵌入主窗体里的子窗体,他们的筛选条件略有不同。
“表1 子窗体”受list1和list2控制。
“表1 子窗体1”受list1、list2和list3控制。