access报表表格间距Word文档格式.docx
《access报表表格间距Word文档格式.docx》由会员分享,可在线阅读,更多相关《access报表表格间距Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
![access报表表格间距Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/14/c5f85534-d461-4645-b398-ca54a9c07f16/c5f85534-d461-4645-b398-ca54a9c07f161.gif)
dimxlappasexcel.application
dimxlbookasworkbook,xlsheetasworksheet
setxlapp=createobject("
excel.application"
)
setxlapp=newexcel.application
xlapp.Visible=true
setxlbook=xlapp.workbooks.open("
c:
/reprot/temp.xls"
setxlsheet=xlbook.worksheets
(1)
xlsheet.cells(3,1)="
制表日期:
"
+"
12"
月"
以上只更改了一个单元格内的数据,可根据需要无限次加入
xlbook.save
xlsheet.printpreview如果是要打印,只要把printpreview改为printoutxlbook.close
xlapp.quit
endsub
ok,然后就可以单击该按钮看看生成的表格如何了。
篇二:
access报表操作题完整
access报表操作题
7、考生文件夹下存在一个数据库文件"
samp4.mdb"
,里面已经设计好表对象"
temployee"
和查询对象"
qemployee"
,同时还设计出以"
为数据源的报表对象"
remployee"
。
试在此基础上上按照以下要求补充报表设计:
(1)报表的报表页眉节区位置添加一个标签控件,其标题显示为"
职员基本信息表"
,并命名为"
btitle"
;
(2)将报表主体节区中名为"
tdate"
的文本框显示内容设置为"
聘用时间"
字段值;
(3)在报表的页面页脚区添加一个计算控件,以输出页码。
计算控件放置在距上边0.25厘米、距左侧14厘米位置,并命名为"
tpage"
规定页码显示格式为"
当前页/总页数"
,如1/20、2/20、……、20/20等。
注意:
不允许修改数据库中的表对象"
不允许修改报表对象"
中未涉及的控件和属性。
本题解题思路:
(1)选择一个标签,放到报表页眉中,选择工具栏上的"
属性"
按钮,在弹出的属性框中设置名称属性为"
和标题属性为"
(2)选中主体中的名为"
的文本框,设置其控件来源属性为"
字段。
(3)选择一个文本框,放到报表的页面页脚中,设置它的名称为"
、上边距属性为0.25厘米和左边距属性为14厘米,并在控件来源属性中输入"
=[page]字段。
(3)选择一个文本框,放到页面页脚中,选择工具栏上的"
按钮,在弹出的属性框中设置名称、上边距和左边距属性,并在控件来源属性中输入:
=cstr(year(date()))+"
年
"
+cstr(month(date()))+"
(4)选择"
视图"
菜单中的"
排序与分组"
,在"
字段/表达式"
中输入"
=left([编号],4)"
,"
组页脚"
选择"
是"
,分组形式选择"
每一个值"
选择一个文本框,放到组页脚中,选择工具栏上的"
按钮,在弹出的属性框中设置名称,并在控件来源属性中输入:
=avg([年龄])。
110、考生文件夹下存在一个数据库文件"
tstud"
qstud"
rstud"
试在此基础上按照以下要求补充报表设计:
(1)在报表的报表页眉节区位置添加一个标签控件,其名称为"
,标题显示为"
团员基本信息表"
(2)在报表的主体节区添加一个文本框控件,显示"
性别"
字段值。
该控件放置在距上边0.1厘米、距左边5.2厘米,并命名为"
tsex"
(3)在报表页脚节区添加一个计算控件,计算并显示学生平均年龄。
计算控件放置在距上边0.2厘米、距左边4.5厘米,并命名为"
tavg"
(4)按"
编号"
字段前四位分组统计各组记录个数,并将统计结果显示在组页脚节区。
计算控件命名为"
tcount"
注意:
不允许改动数据库中的表对象"
,同时也不允许修改报表对象"
中已有的控件和属性。
(1)选择一个标签,放到报表页眉中,输入标题,选择工具栏上的"
按钮,在弹出的属性框中设置标签名称。
(2)选择一个文本框,放到报表主体中,选择工具栏上的"
按钮,在弹出的属性框中设置名称、上边距和左边距属性,并在控件来源属性中选择"
(3)选择一个文本框,放到报表页脚中,选择工具栏上的"
=count([编号])。
篇三:
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=ctl.heightctl.top
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
lngleft=rpt.scalewidth
Foreachctlinrpt.section(acpageFooter).controls
ymyj2"
then页面页脚的第一行ymyj第二行ymyj2要在tag中作出特殊标记
lngacdetaiheight=lngacdetaiheight+ctl.height+ctl.top
Foreachctlinrpt.section(acdetail).controls
iflngleft>
ctl.leftthenlngleft=ctl.left表格左边距iflngRight ifstyle1thenrpt.line(ctl.left,lngtop)-(ctl.left,lngbottom)画竖线
下面加50,是把最后一行线下移50,和左右竖线延长50,是为了防止最后一排控件的高度太小,与线太靠近了,是为了更好看一点。
ifstyle1thenrpt.line(lngRight,lngtop)-(lngRight,lngacdetaiheight+50)在最右边画竖线ifstyle1thenrpt.line(lngleft,lngtop)-(lngleft,lngacdetaiheight+50)在最左边画竖线画横线
ifstyle2then
rpt.line(lngleft,lngtop)-(lngRight,lngtop)画标题顶横线
Forinti=0tolngRows
主体多行的总高度+页面页眉的高度(线上端起始位置)
lngsumh=lngRowheight*inti+lngtop+lngymkjheight
rpt.line(lngleft,lngsumh)-(lngRight,lngsumh)
else
lngsumh=lngRowheight*inti+lngtop
rpt.line(lngleft,lngacdetaiheight+50)-(lngRight,lngacdetaiheight+50)
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
tt=ctr.top
ForeachctrinmyRpt.页面页眉.controls
then画底端横线
lngymkj=ctr.height
设主体各textbox之间的间隙一致
zleft=0
ctr.left=zleft
ctr.height=lngztkj
ctr.tag="
ctr.top=0设置主体中控件的顶部与主体的距离(要稍许大一点,能不被主体本身遮住为好)
zleft=ctr.left+ctr.width
设置页面页眉的label与主体各textbox的宽度一致
zname=ctr.name
zwidth=ctr.width
zleft=ctr.left
ForeachctlinmyRpt.页面页眉.controls
orctl.tag="
left"
then页面页眉的第一行的特殊标记
ywidth=ctl.width
ifsplit(ctl.name,"
_"
)(0)=znamethen控件取名特殊化
ctl.left=zleft
ctl.width=zwidth
ctl.textalign=2
ctl.height=lngymkj
ctl.tag="
ctl.top=1953设置页面页眉中控件的顶部与页眉的距离(要稍许大一点,能不被页眉本身遮住为好)
ForeachctlinmyRpt.页面页脚.controls
ymyj"
then页面页脚的第一行的特殊标记
msgboxsplit(ctl.name,"
)
(1)
ctl.top=0设置页面页脚中控件的顶部与页眉的距离(要稍许大一点,能不被页眉本身遮住为好)
then页面页脚的第二行的特殊标记
msgboxsplit(b.name,"
ctl.top=lngymkj设置页面页脚中控件的顶部与页眉的距离(要稍许大一点,能不被页眉本身遮住为好)
myRpt.主体.height=lngztkj设置主体表中控件的顶端离页面页眉的行高(即第一行的行高)myRpt.页面页眉.height=lngymkj+80设置主体表中控件的行高(即第二行到结束的行高)myRpt.页面页脚.height=lngymkj+80
设置完成保存一下
docmd.closeacReport,rptname,acsaveyes
再打开看看是否成功
在报表的Vbe中复制下列代码,即可.
privatesubReport_page()
hs表示行数,1表示样式(1大概表示竖线,2大概表示横线),False表示标题不加线
Reportsheetme,me.Fid,note,hs,1,False