竭诚为您提供优质文档/双击可除
access,表格控件

  篇一:access控件简介
  access控件简介
  重要:
  要求:了解
  来源:微软
  整理:access软件网
  本文介绍access中提供的不同类型的控件,并演示如何向窗体和报表添加控件。控件是窗体或报表的组成部分,可用于输入、编辑或显示数据。例如,对于报表而言,文本框是一个用于显示数据的常见控件;对于窗体而言,文本框是一个用于输入和显示数据的常见控件。其他常见控件包括命令按钮、复选框和组合框(下拉列表)。本文内容了解控件
  了解布局(需要20xx或更高版本的access)
  了解控件
  利用控件,您可以查看和处理数据库应用程序中的数据。最常用的控件是文本框,其他控件包括命令按钮、标签、复选框和子窗体/子报表控件。
  控件可以是绑定控件、未绑定控件或计算控件:
  绑定控件其数据源是表或查询中的字段的控件称为绑定控件。使用绑定控件可以显示数据库中字段的值。值可以是文本、日期、数字、是/否值、图片或图形。例如,显示雇员姓氏的文本框可能会从“雇员”(employees)表中的“姓氏”(lastname)字段获取此信息。
  未绑定控件不具有数据源(如字段或表达式)的控件称为未绑定控件。可以使用未绑定控件显示信息、图片、线条或矩形。例如,显示窗体标题的标签就是未绑定控件。
  计算控件其数据源是表达式(而非字段)的控件称为计算控件。通过定义表达式来指定要用作控件的数据源的值。表达式可以是运算符(如=和+)、控件名称、字段名称、返回单个值的函数以及常数值的组合。例如,以下表达式将“单价”(unitprice)字段的值乘以常数值(0.75)来计算折扣
  为25%的商品价格。
  =[unitprice]*0.75
  表达式可以使用来自窗体或报表的基础表或查询中的字段的数据,也可以使用来自窗体或报表中的另一个控件的数据。注释通过添加计算字段可在表中执行计算,或通过在查询网格的“字段”行中输入表达式可在查询中执行计算。之后,只需将窗体和报表绑定到这些表或查询,即可在窗体或报表上显示计算,而无需创建计算控件。
  在创建窗体或报表时,首先添加和排列所有绑定控件可能会最有效,特别是在对象上的大多数控件都是绑定控件时更是如此。然后,您可以在布局视图或设计视图中,通过使用“设计”选项卡上的“控件”组中的工具,添加未绑定控件和计算控件来完成设计。
  通过标识控件从中获得其数据的字段,可以将控件绑定到字段。通过将选定字段从“字段列表”窗格拖动到窗体或报表,可以创建绑定到该字段的控件。“字段列表”窗格显示窗体的基础表或查询的字段。若要显示“字段列表”窗格,请在布局视图或设计视图中打开对象,然后在“设计”选项卡上的“工具”组中,单击“添加现有字段”。当您双击“字段列表”窗格中的某个字段时,access会向对象添加该字段的相应控件类型。
  另外,您可以通过在控件本身内部键入某个字段的名称(如果已在设计视图中打开对象)或在控件的属性表中的“控件来源”属性框中键入某个字段的名称,将该字段绑定到控件。属性表定义控件的特征,如它的名称、数据源和格式。若要显示或隐藏属性表,请按F4。使用
“字段列表”窗格是创建绑定控件的最佳方式,其原因有两个:access会自动使用字段名称(或者在基础表或查询中为该字段定义的标题)来填写控件附带的标签,因此,您不必自己键入控件标签的内容。
  access会根据基础表或查询中字段的属性(例如,“格式”、“小数位数”和“输入掩码”属性),自动将控件的许多属性设置为相应的值。
  如果已经创建未绑定控件并且想将它绑定到字段,请将控件的“控件来源”属性框中的值设置为该字段的名称。有关“控件来源”属性的详细信息,请在光标位于属性的下拉列表中时按F1。
  了解布局
  布局功能是在access20xx中加入的新功能,因此需要需要安装20xx或更高版本的access。
  布局是一些参考线,可用于将您的控件沿水平方向和垂直方向对齐,以使您的窗体具有一致的外观。您可以将布局视为一个表,该表中的每个单元格要么为空,要么包含单个控件。下列过程演示如何在布局中添加、删除或重新排列控件。
  配置布局的方式有很多种,但通常会使用表格式或堆叠式格式来配置布局。利用这两大格式,您可以拆分或合并单元格以自定义布局,使布局更适合您的控件。有关详细信息,请参
阅在布局中拆分或合并一节。
  在表格式控件布局中,各个控件按行和列进行排列(就像在电子表格中排列一样),其中标签位于顶部,如下图所示:
  表格式控件布局总是会跨越窗体或报表的两个部分。无论控件位于哪一个部分中,标签都会位于上面的那个部分中。
  在堆叠式布局中,各个控件会沿垂直方向进行排列(类似于您在纸制表单中可能看到的情况),每个控件的左侧都有一个标签,如下图所示:
  篇二:access报表控件整理代码
  optioncomparedatabase
  =========================================
  作用:为报表画线,统一各控件的宽度.高度.和间隙
  1.取主体和页面页眉第一个控件的高度height为标准,设置其他控件的高度.
  2.以主体的每一个控件的宽度width为标准,设置页面页眉相对应控件的宽度
  3.连接主体和页面页眉的控件,使其隙一致.
  ==========================================
  publicFunctionReportsheet(rptasReport,_
  leftcontrolascontrol,_
  Rightcontrolascontrol,_
  optionalRowsofpageasinteger,_
  optionalstyleasinteger=0,_
  optionalhascolumnheaderasboolean=true)报表画线设置onerrorResumenext
  dimintiasinteger
  dimlngtopaslong表格上边距,即报表页眉的高度
  dimlngbottomaslong表格下边距,报表页眉的高度+主体节高度×每页要显示的记录数dimlngleftaslong表格左边距,第一个控件的左边距
  dimlngRightaslong表格右边距,最后一个控件的左边距+最后一个控件的宽度dimlngRowheightaslong行高,即主体节高度
  dimlngacdetaiheightaslong主体高度
  dimlngsumhaslong主体多行的总高度+页面页眉的高度(线上端起始位置)
  dimlngymkjheightaslong页面页眉最低层(标题)行中的第一个控件的高度
  dimlngRowsaslong
  dimlngRowtopaslong
  dimlngbottommaxaslong
  dimlng
  dimctlascontrol
  withrpt
  Foreachctlin.section(acpageheader).controls
  ifctl.tag="ymym"then页面页眉的标题行要在tag中作出特殊标记ymym
  lngymkjheight=p
  exitFor
  endif
  next
  lngRowheight=.section(acdetail).height行高:主体节高度
  lngtop=.section(acpageheader).height设上边距为页面页眉高度,为防止报表没有页面页眉所以代码单独一行
  if.page=1thenlngtop=lngtop+.section(acheader).height第一页再加上报表页眉高度,为防止报表没有报表页眉所以代码单独一行
  lngbottommax=.section(acpageFooter).height页面页脚高度,为防止报
  表没有页面页脚所以代码单独一行
  lngacdetaiheight=.scaleheight-lngbottommax下边距lngbottommax=.scaleheight-lngbottommax报表高度减去页面页脚高度得到最大允许的下边距
  .drawwidth=5
  endwith
  lngRows=int((lngbottommax-lngtop)/lngRowheight)当前页面能容纳的行数ifRowsofpage>0then
  ifRowsofpage  endif
  lngbottom=lngtop+lngRowheight*lngRows根据行数计算表格下边距
  ifhascolumnheaderthen
  lngRows=lngRows+1
  lngtop=lngtop-lngymkjheightlngRowheight页面页眉的高度减页面页眉控件高度(行高)
  lngacdetaiheight=lngacdetaiheight-lngymkjheight
  endif
  lngleft=rpt.scalewidth
  Foreachctlinrpt.section(acpageFooter).controls
  ifctl.tag="ymyj2"then页面页脚的第一行ymyj第二行ymyj2要在tag中作出特殊标记
  lngacdetaiheight=lngacdetaiheight+ctl.p
  exitFor
  endif
  next
  Foreachctlinrpt.section(acdetail).controls
  iflngleft>ctl.leftthenlngleft=ctl.left表格左边距iflngRight  ifstyle1thenrpt.line(ctl.left,lngtop)-(ctl.left,lngbottom)画竖线
  next
  下面加50,是把最后一行线下移50,和左右竖线延长50,是为了防止最后一排控件的高度太小,与线太靠近了,是为了更好看一点。
  ifstyle1thenrpt.line(lngRight,lngtop)-(lngRight,lngacdetaiheight+50)在最右边画竖线ifstyle1thenrpt.line(lngleft,lngtop)-(lngleft,lngacdetaiheight+50)在最左边画竖线画横线
  ifstyle2then
  ifhascolumnheaderthen
  rpt.line(lngleft,lngtop)-(lngRight,lngtop)画标题顶横线
  Forinti=0tolngRows
  主体多行的总高度+页面页眉的高度(线上端起始位置)
  lngsumh=lngRowheight*inti+lngtop+lngymkjheight
  rpt.line(lngleft,lngsumh)-(lngRight,lngsumh)
  next
  else
  Forinti=0tolngRows
  主体多行的总高度+页面页眉的高度(线上端起始位置)
  lngsumh=lngRowheight*inti+lngtop
  rpt.line(lngleft,lngsumh)-(lngRight,lngsumh)
  next
  endif
  rpt.line(lngleft,lngacdetaiheight+50)-(lngRight,lngacdetaiheight+50)
  endif
  endFunction
  publicsubsameRoportFormat(rptnameasstring)报表整齐设计
  dimlngztkjaslong主体控件高度
  dimlngymkjaslong页面页眉控件高度
  dimznameasstring
  dimzleftassingle控件的左
  dimzwidthassingle控件的宽
  dimzheightassingle控件的高
  dimyheightassingle
  dimmyRptasReport
  dimctrascontrol参照控件
  dimctlascontrol页面页眉页脚控件
  docmd.openReportrptname,acViewdesign
  取主体和页面页眉第一各控件的height
  setmyRpt=access.Reports(rptname)
  ForeachctrinmyRpt.主体.controls
  iftypename(ctr)"line"andctr.tag="zt"then
  lngztkj=ctr.height
  p
  exitFor
  endif
  next
  ForeachctrinmyRpt.页面页眉.controls
  iftypename(ctr)"line"andctr.tag="ymym"then画底端横线
  lngymkj=ctr.height
  exitFor
  endif
  next
  设主体各textbox之间的间隙一致
  zleft=0
  ForeachctrinmyRpt.主体.controls
  ctr.left=zleft
  ctr.height=lngztkj
  ctr.tag="zt"
  p=0设置主体中控件的顶部与主体的距离(要稍许大一点,能不被主体本身遮住为好)
  zleft=ctr.left+ctr.width
  next
  设置页面页眉的label与主体各textbox的宽度一致
  ForeachctrinmyRpt.主体.controls
  zname=ctr.name
  zwidth=ctr.width
  zleft=ctr.left
  ForeachctlinmyRpt.页面页眉.controls
access常见条件表达式  ifctl.tag="ymym"orctl.tag="left"then页面页眉的第一行的特殊标记
  ywidth=ctl.width
  ifsplit(ctl.name,"_")(0)=znamethen控件取名特殊化
  ctl.left=zleft
  ctl.width=zwidth
  align=2
  ctl.height=lngymkj
  ctl.tag="ymym"
  p=1953设置页面页眉中控件的顶部与页眉的距离(要稍许大一点,能不被页眉本身遮住为好)
  exitFor
  endif
  endif
  next
  ForeachctlinmyRpt.页面页脚.controls
  ifctl.tag="ymyj"then页面页脚的第一行的特殊标记
  ywidth=ctl.width
  msgboxsplit(ctl.name,"_")(1)
  ifsplit(ctl.name,"_")(0)=znamethen控件取名特殊化
  ctl.left=zleft
  ctl.width=zwidth
  align=2
  ctl.height=lngymkj
  ctl.tag="ymyj"
  p=0设置页面页脚中控件的顶部与页眉的距离(要稍许大一点,能不被页眉本身遮住为好)
  exitFor
  endif
  endif
  next
  ForeachctlinmyRpt.页面页脚.controls
  ifctl.tag="ymyj2"then页面页脚的第二行的特殊标记
  ywidth=ctl.width
  msgboxsplit(b.name,"_")(1)
  ifsplit(ctl.name,"_")(0)=znamethen控件取名特殊化
  ctl.left=zleft
  ctl.width=zwidth
  align=2
  ctl.height=lngymkj
  ctl.tag="ymyj2"
  p=lngymkj设置页面页脚中控件的顶部与页眉的距离(要稍许大一点,能不被页眉本身遮住为好)
  exitFor
  endif
  endif
  next
  next
  myRpt.主体.height=lngztkj设置主体表中控件的顶端离页面页眉的行高(即第一行的行高)myRpt.页面页眉.height=lngymkj+80设置主体表中控件的行高(即第二行到结束的行高)myRpt.页面页脚.height=lngymkj+80
  设置完成保存一下
  docmd.closeacReport,rptname,acsaveyes
  再打开看看是否成功
  endsub
  在报表的Vbe中复制下列代码,即可.
  privatesubReport_page()
  hs表示行数,1表示样式(1大概表示竖线,2大概表示横线),False表示标题不加线
  Reportsheetme,me.Fid,menote,hs,1,False
  endsub
  篇三:access最佳教程(报表的设置教学)
  第四章报表
  ◆报表的功能
  ◆报表的设计
  ◆报表的记录分组和排序
  ◆报表的打印和预览
  一、报表的功能
  尽管数据表和查询都可用于打印,但是,报表才是打印和复制数据库管理信息的最佳方式,可以帮助用户以更好的方式表示数据。报表既可以输出到屏幕上,也可以传送到打印设备。
  报表是查阅和打印数据的方法,与其他的打印数据方法相比,具有以下两个优点:
  ◆报表不仅可以执行简单的数据浏览和打印功能,还可以对大量原始数据进行比较、汇总和小计。
  ◆报表可生成清单、订单及其他所需的输出内容,从而可以方便有效地处理商务。
  报表作为access20xx数据库的一个重要组成部分,不仅可用于数据分组,单独提供各项数据和执行计算,还提供了以下功能:
  ◆可以制成各种丰富的格 
式,从而使用户的报表更易于阅读和理解。
  ◆可以使用剪贴画、图片或者扫描图像来美化报表的外观。
  ◆通过页眉和页脚,可以在每页的顶部和底部打印标识信息
  ◆可以利用图表和图形来帮助说明数据的含义。
  二、报表设计
  如同数据库中创建的大多数对象一样,用户可以采用多种方式来创建所需的报表。首先,打开数据库窗口,单击【对象】栏下的【报表】按钮,然后单击【报表设计】工具栏上的【新建】,则弹出【新建报表】对话框。
  1.报表设计工具
  ⑴工具栏
  视图、对象、超链接、字段列表、工具箱、排序分组、自动套用格式、代码、属性、生成
器、数据库窗口、新对象、线条/边框宽度、特殊效果
  ⑵工具箱
  在报表设计过程中,工具箱是十分有用的,下面具体介绍【工具箱】中的各个控件。◆选择对象用于选定操作的对象。
  ◆控件对象单击该按钮后,在使用其他控件时,即可在向导下完成。
  ◆标签显示标题、说明文字。
  ◆文本框用来在窗体、报表或数据访问页上显示输入或编辑数据,也可接受计算结
  果或用户输入。
  ◆选项组显示一组限制性的选项值。
  ◆切换按钮当表内数据具有逻辑性时,用来帮助数据的输入。
  ◆选项按钮与切换按钮类似,属单选。
  ◆复选框选中时,值为1,取消时,值为0。属多选。
  ◆组合框包括了列表框和文本框的特性。
  ◆列表框用来显示一个可滚动的数据列表。
  ◆命令按钮用来执行某些活动。
  ◆图像加入图片。
  ◆非绑定对象框用来显示一些非绑定的ole对象。
  ◆绑定对象框用来显示一系列的图片。
  ◆分页符用于定义多页数据表格的分页位置。
  ◆选项卡控件创建带有选项卡的对话框。
  ◆子窗体/子报表用于将其他表中的数据放置在当前报表中。
  ◆直线划直线。
  ◆矩形划矩形。
  ◆其他控件显示access20xx所有已加载的其他控件。
  ⑶工作区
  ◆报表页眉以大的字体将该份报表的标题放在报表顶端。只有报表的第1页才出现报表页眉内容。报表页眉的作用是作封面或信封等。
  ◆页面页眉页面页眉中的文字或字段,通常会打印在每页的顶端。如果报表页眉和页面页眉共同存在于第1页,则页面页眉数据会打印在报表页眉的数据下。
  ◆主体用于处理每一条记录,其中的每个值都要被打印。主体区段是报表内容的
  主体区域,通常含有计算的字段。
  ◆页面页脚页面页脚通常包含页码或控件,其中的【=“第”&[page]&“页”】表达式用来打印页码。
  ◆报表页脚用于打印报表末端,通常使用它显示整个报表的计算汇总等。
  除了以上通用区段外,在分组和排序时,有可能需要组页眉和组页脚区段。可选择【视图】|【排序与分组】命令,弹出【排序与分组】对话框。选定分组字段后,对话框下端会出现
  【组属性】选项组,将【组页眉】和【组页脚】框中的设置改为【是】,在工作区即会出现相应的组页眉和组布脚。
  ⑷属性窗口
  2.使用向导创建报表
  创建报表最简单的方法是使用向导。在报表向导中,需要选择在报表中出现的信息,并从多种格式中选择一种格式以确定报表外观。与自动报表向导不同的是,用户可以用报表向导选择希望在报表中看到的指定字段,这些字段可来自多个表和查询,向导最终会按照用户选择
  的布局和格式,建立报表。新建报表:
  选择表和字段
  按学分分组:
 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。