
窗体和控件44hcy.ppt
26页5.5 5.5 利用利用窗体操作数据窗体操作数据5.5.1 查看数据5.5.2 添加记录5.5.3 修改数据5.5.4 删除记录5.5.5 筛选记录•3.2节和3.5节介绍了维护和使用表中记录的方法但是,作为一个完善的数据库管理系统,应该有友好的界面操作数据,而不是直接打开表对其操作•操作数据的最好方法就是在窗体中进行利用窗体可以查看、修改、查找和替换数据,添加、删除、排序和筛选记录•通过5.4.3节介绍的窗体属性的设置(窗体的数据属性->允许筛选、允许编辑、允许删除和允许添加),可以根据需要严格限制窗体所基于的表中记录只能添加、只能修改或只能删除等,以保证不发生对数据的误操作•利用窗体操作数据首先要定位到相应的记录在窗体的“窗体”视图或“数据表”视图的最下面一行有“记录选定器”定位到相应记录后,就可以对数据进行各种操作•由于窗体的基表或与其他表间可能没有关系,也可能建立了关系,因此,在利用窗体添加、修改或删除记录时会出现不同的情况•对于与其他表建立了关系的表,如果对当前记录的操作对其他表中的所有记录没有影响,则和该表与其他表没有关系一样;如果对当前记录的操作对其他表中的有关记录有影响,则和该表与其他表没有关系不一样。
为了方便叙述,本节将这两种情况分别称为独立操作和相关操作•就象人可以没有子女,但必须有父母一样,子表中的记录必须与主表中的某个记录关联,不允许“孤儿”的存在•Access数据库内置机制严格地保证了相关操作不破坏已经建立的表间关系5.5.1 5.5.1 查看数据查看数据•利用窗体查看数据不但可以根据实际需要选取适当方式和理想的外观,更重要的是能做到不让用户添加、修改或删除记录•利用窗体不仅可以查看来自一个表、还可以查看来自多个表的数据当两个表具有“一对多”关系时,可以使用子窗体来查看数据,如下页图所示子窗体中的记录会随主窗体中记录的改变而改变利用“记录选定器”可以方便快捷地查看数据•使用“数据透视表”窗体或“数据透视图”窗体查看数据还能查看数据源的汇总数据5.5.2 5.5.2 添加记录添加记录•可以设计添加记录的专用命令按钮,如下页图中的“添加记录”按钮•应该充分利用输入数据的控件的默认值、输入掩码、有效性规则、控件提示文本等属性项的设置,以提高数据输入的准确性,减少错误•如果窗体的基表是其他表的子表,则在该窗体中添加记录将可能是“相关操作”如添加的学生属于不存在的班级时•对于相关操作,则在添加记录后保存时,系统会出现如下图所示的提示框。
•单击“确定”按钮后还会出现如下图所示的提示框,说明系统不能保存这个记录(即不会接受这样的添加) 【说明】如果该字段为查阅向导型,则系统给出的是另外的提示框5.5.3 5.5.3 修改数据修改数据•为了保证数据的安全,凡不允许修改的字段应设定为不能修改将窗体中不允许修改字段的“是否有效”属性项设为“否”(即光标不能进入),就能限定这些字段不能修改•自动编号型字段已由系统自动设定为不能修改(虽然光标可以进入)包括各种编码在内的主键应设定为不能修改•如果要对大量记录的某些字段进行有规律的修改,则应该用专门设计的窗体或操作查询进行修改,而不要手工逐个修改 •修改记录的“相关操作”有两种情形,下面分别讨论1)窗体的基表是其他表的子表(2)Eg:学生情况表是班级简况表的子表•在该窗体中修改作为外码的字段将可能是“相关操作”对于相关操作,则在修改记录后保存时,系统会出现类似下图所示的提示框•单击“确定”后还会出现“不能保存该记录”的提示框,说明系统不能保存这个记录2) 窗体的基表是其他表的主表Eg:班级简况表是学生情况表的主表•在该窗体中修改作为主码(或主码的一部分)的字段将可能是“相关操作”。
对于相关操作,如果在关系中只选中“实施参照完整性”,则在修改记录后保存时,系统会出现如上页图所示的提示框,单击“确定”后还会出现“不能保存该记录”的提示框,说明系统不能保存这个记录•如果在关系中又选中“级联更新相关记录”,则在修改记录时,系统会自动对子表中相关记录的相同字段作同样的修改 5.5.4 5.5.4 删除记录删除记录•删除记录的操作是无法撤消的(即删除了的记录无法恢复)所以,删除记录要很慎重•如果要删除大量记录,应该用专门设计的窗体或操作查询进行删除 •对于删除操作,系统会出现如下页图所示的提示框要求确认万一作了误删除操作,到这里还可以挽回 •如果窗体的基表是其他表的主表,则在该窗体中删除记录将可能是“相关操作”对于相关操作,分两种情况说明:(1) 如果在关系中只选中“实施参照完整性”•删除记录时,系统会出现如“不能删除或改变该记录”的提示框 (2) 如果在关系中又选中“级联删除相关记录 ”•删除记录时,系统会出现如下图所示的提示框 5.5.5 5.5.5 筛选记录筛选记录•窗体本身具有筛选和排序功能应用窗体进行筛选和排序可以不必另建查询不仅可以对主窗体应用筛选,而且还可以同时对子窗体应用筛选。
•在窗体中可以使用的筛选有4种:“按选定内容筛选”、“按窗体筛选”、“内容排除筛选”和“高级筛选/排序”•在窗体中筛选数据和直接打开表筛选数据的方法是一样的,只是界面不同,参看3.4.3节 1. 按选定内容筛选例5-21 用“学生管理”数据库中的“向导创建学生情况纵栏表”窗体筛选出家庭所在地是北京的全部记录 (演示)•操作步骤如下:1)在“数据库”窗口打开“向导创建学生情况纵栏表”窗体;2)将当前记录定位到任意一个家庭所在地为北京的记录,并将光标移到“家庭所在地”字段(选定);3)选择“记录\筛选\按选定内容筛选”,或者单击工具栏上的“按选定内容筛选”按钮•这就筛选出了所有家庭所在地为北京的记录,如下图所示•如果在第3步中以“内容排除筛选”代替“按选定内容筛选”,就筛选出所有家庭所在地不是北京的记录2. 按窗体筛选例5-22 用“学生管理”数据库中的“向导创建学生情况纵栏表”窗体筛选出家庭所在地是北京的女生 (演示)•操作步骤如下:1)在“数据库”窗口打开“向导创建学生情况纵栏表”窗体;2)选择“记录\筛选\按窗体筛选”,或者单击工具栏上的“按窗体筛选”按钮,打开如下页图所示的窗口;3)用下拉列表在“家庭所在地”字段和“性别”字段分别选择“北京”和“女”,也可直接输入所需值或表达式;4)单击工具栏上的“应用筛选”按钮,这就筛选出了符合条件的记录。
•如果要在“学生情况纵栏式”窗体筛选出家庭所在地是北京或上海的女生只要在例5-22的第3步后插入以下操作即可:单击“按窗体筛选”窗口左下角的“或”选项卡,在打开的新的“按窗体筛选”窗口用下拉列表在“家庭所在地”字段和“性别”字段分别选择“上海”和“女”•这个准则的逻辑表达式是:(“家庭所在地”=”北京” And ”性别”=”女”) Or (“家庭所在地”=”上海” And ”性别”=”女”)作业:作业:l l什么是绑定型控件、非绑定型控件?l常用的控件有哪些?l可以在哪几个地方设定控件的各种格式?其中最常用的是什么方法?作业讲评:作业讲评:l l什么是什么是绑定型控件、非绑定型控件?绑定型控件、非绑定型控件?ØØ没有数据源的控件为没有数据源的控件为没有数据源的控件为没有数据源的控件为非绑定型控件非绑定型控件非绑定型控件非绑定型控件ØØ有数据源,且与数据源字段相关联的控件为有数据源,且与数据源字段相关联的控件为有数据源,且与数据源字段相关联的控件为有数据源,且与数据源字段相关联的控件为绑定型控件绑定型控件绑定型控件绑定型控件l l常用的控件有哪些?常用的控件有哪些?标签、标签、 文本框、命令按钮、选项组、列表框、组文本框、命令按钮、选项组、列表框、组合框、子窗体。
合框、子窗体l l可以在哪几个地方设定控件的各种格式?其中最常可以在哪几个地方设定控件的各种格式?其中最常用的是什么方法?用的是什么方法?可以在可以在“ “格式格式” ”工具栏、工具栏、 “ “格式格式” ”菜单、属性窗菜单、属性窗口、(在相应的控件上)右键快捷菜单处设定口、(在相应的控件上)右键快捷菜单处设定用得最多的是右键快捷菜单用得最多的是右键快捷菜单。












