子窗体及控件.doc_第1页
子窗体及控件.doc_第2页
子窗体及控件.doc_第3页
子窗体及控件.doc_第4页
子窗体及控件.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2007915在处理关系数据时(在这种情况下,相关数据存储在单独的表中),您通常需要在同一窗体中查看来自多个表或查询的数据。例如,您想查看客户数据,但同时还想查看有关该客户的订单的信息。子窗体即为实现此目的的便利工具,而 Microsoft Office Access 2007 提供了许多可帮助您快速创建子窗体的方法。了解有关子窗体的信息子窗体是指插入到其他窗体中的窗体。主要的窗体称为主窗体,而该窗体内的窗体称为子窗体。窗体/子窗体的组合有时被称为分层窗体、大纲/细节窗体或父/子窗体。当您要显示具有一对多关系(一对多关系:两个表之间的一种关系,在这种关系中主表中每条记录的主键值都与相关表中多条记录的匹配字段(一个或多个)中的值对应。)的表或查询中的数据时,使用子窗体特别有效。例如,您可以创建一个包含子窗体的窗体,以显示来自“类别”表和“产品”表的数据。“类别”表中的数据是关系的“一”端。“产品”表中的数据是关系的“多”端 - 每个类别都可以拥有多个产品。主窗体显示来自关系的“一”端的数据。子窗体显示来自关系的“多”端的数据。此类型的窗体的主窗体和子窗体链接在一起,这样,子窗体只会显示与主窗体中当前记录有关的记录。例如,当主窗体显示“饮料”类别时,子窗体仅显示“饮料”类别中的产品。如果该窗体与子窗体未链接在一起,则子窗体将显示所有产品,而不仅仅是“饮料”类别中的产品。下表定义了与子窗体关联的部分术语。如果您按照本文提及的过程操作,则大部分细节问题将由 Access 处理,但是,如果您需要在以后进行修改,则了解幕后的操作将非常有用。术语定义子窗体控件将一个窗体嵌入另一窗体的控件。您可以将子窗体控件看作是另一对象在数据库中的“视图”,不管这个对象是表、查询还是另一个窗体。您可以通过子窗体控件提供的属性将控件中显示的数据链接到主窗体上的数据。“记录源”属性确定在控件中显示什么对象的子窗体控件属性。数据表以行和列的简单形式显示数据,与电子表格非常相似。当子窗体控件的记录源为表或查询,或者当其记录源是“默认视图”属性设置为“数据表”的窗体时,该控件将显示数据表。在这些情况下,子窗体有时称为数据表,而不称为子窗体。“链接子字段”属性该子窗体控件属性指定子窗体中的哪个或哪些字段将子窗体链接到主窗体。“链接主字段”属性该子窗体控件属性指定主窗体中的哪个或哪些字段将主窗体链接到子窗体。为达到最佳效果,应当先建立所有关系。这使 Access 可以自动在子窗体与主窗体之间创建链接。若要查看、添加或修改数据库中各表之间的关系,请在“高级工具”选项卡上的“分析”组中,单击“关系”。有关创建关系的详细信息,请参阅“请参阅”部分的链接。当子窗体控件将某个窗体作为其记录源时,它将包含您置于该窗体上的字段,并且可以被看作是单个窗体、连续窗体(连续窗体:在窗体视图中,能在屏幕上显示多条记录的窗体。)或数据表。使子窗体基于窗体对象之上的一个优点是,您可以向子窗体中添加计算字段,如 数量 * 单价。此外,您还可以通过创建记录源为表或查询的子窗体控件,向窗体中插入数据表。数据表不像子窗体那样可以自定义;例如,您不能向数据表中添加计算字段。但是,您可以基于包含计算字段的窗体创建子窗体,然后将该窗体的“默认视图”属性设置为“数据表”。这样就会产生包含计算字段的数据表类型子窗体。使用窗体向导创建包含子窗体的窗体此过程可以通过使用窗体向导创建新的窗体与子窗体组合。1. 在“创建”选项卡上的“窗体”组中,单击“其他窗体”,然后单击“窗体向导”。 如果该向导没有启动这可能是因为 Access 正运行于沙盒模式,但您的计算机上尚未安装 Microsoft Jet 4.0 SP8 或更高版本。启用沙盒模式后,必须安装有 Jet 4.0 SP8 或更高版本,Access 才能完全发挥作用。有关安装 Jet 升级的详细信息,请参阅 Office Online 文章关于 Microsoft Jet 4.0 SP8 或更高版本。有关沙盒模式的详细信息,请参阅 Office Online 文章关于 Microsoft Jet Expression Service 沙盒模式。2. 在向导第一页上的“表/查询”下拉列表中,选择一个表或查询。对于本例,若要创建在子窗体中显示每一类别的产品的“类别”窗体,请选择“表: 类别”(一对多关系的“一”端)。 注释您先选择哪个表或查询无关紧要。3. 在此表或查询中双击您要包括的字段。 4. 在向导同一页上的“表/查询”下拉列表中,选择另一个表或查询。对于本例,请选择“产品”表(一对多关系的“多”端)。 5. 在此表或查询中双击您要包括的字段。 6. 单击“下一步”时,假设您在启动该向导之前已对关系进行了正确设置,则向导会询问“请确定查看数据的方式:”,也就是按哪个表或查询查看数据。对于本例,要创建“类别”窗体,请单击“按类别”。向导将显示一个小窗体图。窗体下半部分中的框代表子窗体。 7. 在向导页的底部,选择“带有子窗体的窗体”选项,然后单击“下一步”。 8. 在向导的“请确定子窗体使用的布局:”页上,根据要用于子窗体的布局,单击“表格式”或“数据表”。这两种布局样式都以行和列的形式排列子窗体数据,但表格式布局具有更大的自定义空间。您可以向表格式子窗体添加颜色、图形和其他格式元素,而数据表则更加紧凑,像表的数据表视图一样。做出选择后,请单击“下一步”。 9. 在向导的“请确定所用样式:”页上,为窗体选择一个格式样式。如果您在上一页上选择了“表格式”,则您选择的格式样式还将应用到子窗体。做出选择后,请单击“下一步”。 10. 在向导的最后一页上,为窗体键入所需的标题。Access 会根据您键入的标题命名窗体,并根据您为子窗体键入的标题标记子窗体。 在此页上,还可以指定是否要在窗体视图中打开窗体,以便您可以查看或输入信息;或者,指定是否要在设计视图中打开窗体,以便您可以修改其设计。做出选择后,请单击“完成”。Access 将创建两个窗体:一个用作包含子窗体控件的主窗体,另一个用作子窗体本身。通过将一个窗体拖动到另一个窗体上来创建子窗体如果有两个现成的窗体,您希望将一个窗体用作另一窗体的子窗体,请按照以下过程操作。1. 在设计视图中,打开要用作主窗体的窗体。 2. 在“设计”选项卡上的“控件”组中,如果未选中“使用控件向导”工具,请单击以选中它。 3. 从导航窗格中将一个窗体拖动到主窗体上。 Access 将向主窗体中添加子窗体控件,并将该控件绑定到您从导航窗格拖出的窗体上。Access 还会试图根据在数据库中定义的关系将子窗体链接到主窗体。如果 Access 无法确定如何将子窗体链接到主窗体,则子窗体控件的“链接子字段”和“链接主字段”属性将保留为空白,您必须执行下列操作来手动设置这些属性:1. 右键单击导航窗格中的主窗体,然后单击“设计视图”。 2. 单击子窗体控件一次将它选中。 3. 如果属性表未显示,请按 F4 以显示它。 4. 在属性表的“数据”选项卡上,单击“链接子字段”属性框旁边的 。 将显示“子窗体字段链接器”对话框。5. 在“主字段”和“子字段”下拉列表中,选择要用来链接窗体的字段。如果您不确定要使用哪些字段,请单击“建议”让 Access 尝试确定链接字段。完成后,请单击“确定”。 如果您没有看到要用于链接窗体的字段,则可能需要对主窗体或子窗体的记录源进行编辑,以确保链接字段包含在其中。例如,如果窗体是基于查询的,则应确保链接字段出现在查询结果中。6. 保存主窗体并切换到窗体视图,然后验证窗体是否按照您预期的方式工作。 在设计视图中以新窗口打开子窗体如果您要在设计视图中使用主窗体的同时对子窗体进行设计上的更改,则可以在子窗体自己的窗口中打开它:1. 单击子窗体以选中它。 2. 在“设计”选项卡上的“工具”组中,单击“新窗口中的子窗体”。 创建包含两个子窗体的窗体此过程将创建具有下列特征的窗体和两个子窗体: 主窗体与第一个子窗体具有一对多关系。 第一个子窗体与第二个子窗体具有一对多关系。 主窗体包含这两个子窗体控件。 创建窗体1. 在“创建”选项卡上的“窗体”组中,单击“其他窗体”,然后单击“窗体向导”。 如果该向导没有启动这可能是因为 Access 正运行于沙盒模式,但您的计算机上尚未安装 Microsoft Jet 4.0 SP8 或更高版本。启用沙盒模式后,必须安装有 Jet 4.0 SP8 或更高版本,Access 才能完全发挥作用。有关安装 Jet 升级的详细信息,请参阅 Office Online 文章关于 Microsoft Jet 4.0 SP8 或更高版本。有关沙盒模式的详细信息,请参阅 Office Online 文章关于 Microsoft Jet Expression Service 沙盒模式。2. 在向导第一页上的“表/查询”下拉列表中,为主窗体选择表或查询。例如,假设您想要创建一个带有两个子窗体(即“订单”子窗体和“订单明细”子窗体)的“客户”窗体。请选择“客户”表(第一个一对多关系的“一”端)。 注释您先选择哪个表或查询无关紧要。3. 在此表或查询中双击您要包括的字段。 4. 在向导同一页上的“表/查询”下拉列表中,为第一个子窗体选择表或查询。对于本例,单击“订单”表(第一个一对多关系的“多”端),然后在此表或查询中双击您要包括的字段。 5. 在向导同一页上的“表/查询”下拉列表中,为第二个子窗体选择表或查询。对于本例,选择“订单细节”表(第二个一对多关系的“多”端),然后在此表或查询中双击您要包括的字段。 6. 单击“下一步”时,假设您在启动该向导之前已对关系进行了正确设置,则向导会询问“请确定查看数据的方式:”,也就是按哪个表或查询查看数据。对于本例,要创建“客户”窗体,请单击“按客户”。 7. 选择“带有子窗体的窗体”选项。 8. 按照向导剩余页上的说明进行操作。单击“完成”后,Access 将创建一个包含两个子窗体控件的主窗体,还将创建两个其他窗体对象 - 每个子窗体对应一个窗体对象。创建包含嵌套子窗体的窗体此过程将创建具有下列特征的窗体和两个子窗体: 主窗体与第一个子窗体具有一对多关系。 第一个子窗体与第二个子窗体具有一对多关系。 第一个子窗体包含第二个子窗体。 注释此过程创建了两个级别的子窗体,但您可以重复此过程来创建最多七个级别的子窗体。1. 创建包含子窗体的窗体。有关详细信息,请参阅使用窗体向导创建包含子窗体的窗体一节。 2. 在设计视图中打开主窗体。 3. 单击子窗体以选中它。 4. 在“设计”选项卡上的“工具”组中,单击“新窗口中的子窗体”。 Access 将在新窗口中打开子窗体。5. 将窗体、表或查询从导航窗格拖到子窗体上。Access 将在第一个子窗体内创建另一个子窗体,并为该子窗体创建一个窗体。 Access 将向子窗体中添加子窗体控件,并将该控件绑定到您从导航窗格拖出的窗体上。Access 还会试图根据在数据库中定义的关系将子窗体链接在一起。如果 Access 无法确定如何链接子窗体,则子窗体控件的“链接子字段”和“链接主字段”属性将保留为空白,您必须执行下列操作来手动设置这些属性:1. 单击子窗体控件一次将它选中。 2. 如果属性表未显示,请按 F4 以显示它。 3. 在属性表的“数据”选项卡上,单击“链接子字段”属性框旁边的 。 将显示“子窗体字段链接器”对话框。4. 在“主字段”和“子字段”下拉列表中,选择要用来链接窗体的字段。如果您不确定要使用哪些字段,请单击“建议”让 Access 尝试确定链接字段。完成后,请单击“确定”。 如果您没有看到要用于链接窗体的字段,则可能需要对主窗体或子窗体的记录源进行编辑,以确保链接字段包含在其中。例如,如果窗体是基于查询的,则应确保链接字段出现在查询结果中。5. 保存窗体并切换到窗体视图,然后确认窗体是否按照您预期的方式工作。将数据用图表方式显示很简单,在Access2000中,不管在窗体、报表还是在页中都可以插入图表。这里我们讲述在窗体上插入一个图表的过程,而在报表和页中插入图表是完全相同的,我们先打开一个数据库,这里以天智公司1999年各分公司销售情况数据库为例,在数据库的主窗体上插入一个饼图,以分析比较各分公司一年的销售总额。 首先打开这个需要添加图表的主窗体“年度销售额窗体”,等窗体打开以后,将它切换到设计视图上。然后用鼠标单击“插入”菜单中的“图表”命令。完成这些之后当将鼠标移动到窗体的“主体”上,会发现鼠标的光标左上方有一个“图表”图标。现在单击鼠标左键,就会在这个窗体上插入一个图表,此时的视图如下图所示,并在屏幕上弹出一个“图表向导”对话框。接着单击视图框中的“两者都有”选项按钮,然后在列表框中选择建立这个图表所需要依据的表或查询。为了创建刚才提到的各个分公司一年销售总额饼形图,要选择“销售总额”这个查询,然后单击“下一步”按钮。这一步要求我们选择在饼形图中所用到的字段。只要在左边提供的字段列表中选择好一个字段,然后单击“”按钮就可以将这个字段作为一个已经选中的字段了。 要将这两个字段都选到右边用于图表的字段列表中,只要单击“”按钮即可,这里我们将这两个字段都选为图表需要的字段。继续单击“下一步”按钮。此时我们看到的对话框如下图所示,现在我们看到在对话框的左边有很多的图标按钮, 这些图标表示的就是在Access中能画出的图表类型,当我们需要画某种图表的时候,只要单击相应的图标按钮就可以了。现在我们要画“饼图”,只要单击“饼图”按钮就可以了。同时这个“饼图”图标按钮会凹陷下去,并且在列表框右边会显示出一个“饼图”。以便我们对这种类型的图表有一个直观的认识。单击完“下一步”按钮就可以看到向导要求我们来规划“饼图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论