【ACCESS精品源码栏目提醒】:网学会员--在 ACCESS精品源码编辑为广大网友搜集整理了:【精品】Access教程 - 其它资料绩等信息,祝愿广大网友取得需要的信息,参考学习。
Access 教程 网址: http://www.accessoft.com/bbs/index.asp http://www.msaccessonline.com/post/100.html http://www.accessbbs.cn/bbs/ http://edu.itbulo.com/db/
access/ http://edu.itbulo.com/db/
access/jc/List_3.htm http://edu.iecool.com/kind/31_1.html http://www.soft6.com/know/detail.aspidAJJADB 1.用
Access 打印带相片的证件最近笔者接到一个任务,要将学生的证书信息及相片打印到 31 技能证书模板上,并且还要传到网上供用人单位查询。
原始数据分两部分,一部分是包含学生姓名、身份证号、认证项目、证书编号等信息的 Excel表;另一部分是按认证项目分类、以学生姓名为名的相片,图片大小均为 90×120 像素,图片格式均为 JPG。
考虑到时间上的紧迫性,还有用户操作的易用性,以后上网查询所需数据库的兼容性,因此决定选用
Access来开发。
Access具有强大的窗体创建、报表打印、VBA编程功能,足以胜任大部分小型数据库应用系统的开发。
创建数据库和表 1. 打开Microsoft Office
Access,创建一个空数据库,与相片的分类目录放在同一个文件夹下。
2. 使用“文件→获取外部数据→导入”功能将Excel表直接导入
Access中,保存为“证书信息”表。
创建证书信息报表 1. 创建“证书信息”报表,先插入一个“图像”控件,设置其图片属性为证书模板图片,设置其大小为证书模板的大小,设置其可见性为否,这样有利于证书信息的排版,且不会打印出来;再依次插入要打印的字段列表,设置好字体和字号;最后再插入一个“图像”控件,放置于打印相片的地方,设置其大小为相片的大小,设置其名称为“stuimg”。
2. 依次点击菜单栏“视图→代码”命令,进入VBA代码编写窗口,编写如下代码:Private Sub 主体_FormatCancel As Integer FormatCount As Integer Dim imgpath As String 依据应用程序路径、认证项目名称、姓名得到相片路径 imgpath Application.CurrentProject.Path quotquot 认证项目.text quotquot 姓名.Textquot.jpgquot 判断照片是否存在,如果不存在则显示一张空白的图片。
If Dirimgpath quotquot Then imgpath Application.CurrentProject.Path quotnoimg.bmpquot Stuimg.Picture imgpathEnd Sub 创建打印预览面板窗体 1. 创建“打印预览面板”,依次放置一个用于查询的文本框,并命名为“inputname”;两个命令按钮“预览”、“关闭”。
2. 依次点击菜单栏“视图→代码”命令,进入 VBA 代码编写窗口,编写如下代码:Public stuname As String 定义全局变量 stunameSub PrintReportsPrintMode As Integer 创建打印预览子程序 Dim strWhereCategory As String If stuname ltgt Empty Then strWhereCategory quot姓名 quot stuname quotquot End If oCmd.OpenReport quot证书信息quot PrintMode strWhereCategory DoCmd.Close acForm quot打印预览面板quotEnd SubPrivate Sub inputname_Change 将文本框输入的字符赋给全局变量 sname,用于给打印预览限定条件 stuname inputname.TextEnd SubPrivate Sub 预览_Click 预览报表,本过程使用自定义的 PrintReports 子程序 PrintReports acPreviewEnd SubPrivate Sub 关闭_Click 关闭窗体 DoCmd.CloseEnd Sub 创建主切换面板窗体 1. 创建“主切换面板”,放置三个命令按钮“打印学生证书”、“返回数据窗口”、“退出管理系统”。
2. 依次点击菜单栏“视图→代码”命令,进入VBA代码编写窗口,编写如下代码:Private Sub 打印学生证书_Click Dim strFormName As String strFormNamequot打印预览面板quot 打开打印预览面板 DoCmd.OpenForm strFormName acDialogEnd SubPrivate Sub 关闭当前窗口_Click Dim strDocName As String strDocName quot证书信息quot 关闭“主切换面板”窗体。
DoCmd.Close 设置焦点到数据库窗口;选择“证书信息”表。
DoCmd.SelectObject acTable strDocName TrueEnd SubPrivate Sub 退出管理系统_Click 退出 Microsoft
Access. DoCmd.QuitEnd Sub 设置启动时显示主切换面板 依次点击菜单栏“工具→启动”命令,打开“启动”设置窗口,在“显示窗体→页”选项下选择主切换面板,并取消“显示数据库窗口”,这样在下一次打开此
Access数据库时,就会自动显示主切换面板窗体。
读者也可根据自己的需要决定是否取消菜单栏和快捷菜单栏,如果取消以后又要显示它们,可以在打开
Access数据库时按住Shift键。
至此,技能证书打印系统开发完毕。
本系统在Windows 2000 Server SP4、Microsoft Office
Access 2003下调试通过。
2. 如何解决用
Access 数据库建站维护不便的问题选用
Access 作为建站数据库,除了低成本的原因之外,主要是
Access 数据库的易发布性,一个 MDB 文件就包括了全部的表和数据,开发完后连同 网页和 ASP 脚本一起上传到网站上就可以了,开发工具也不少,除了 Office 之外,还有许多第三方工具可以使用。
但是使用
Access 数据库也有不便的地方,一但把 MDB 文件上传到网站之后,就不太好操作了,上述的工具犹如“隔山打牛”,完全派不上用场, 通常的做法是通过 FTP 把 MDB 文件下载到本地,操作完后再上传回网站,数据库对网站用户是只读的话还没问题,如果网站用户会写信息到数据 库的话就麻烦了。
使用网际数据库浏览器可以解决上述问题,这个软件通过在网站上安装一个 ASP 或 ASP.NET 脚本,然后在本地安装网际数据库浏览器就可以实现 在线对网站上的
Access 数据库在线进行操作,软件界面类型MS-SQL 查询分析器,但还可以更改表的内容,同时还是一个在线的数据库文档管理 器,简单的操作步骤如下: 1、通过网际数据库浏览器的脚本部署向导或手工将软件附带的脚本 webdb.asp 或 webdb.aspx 上传到网站上面; 2、在本地安装网际数据库浏览器; 3、选择“新建数据库连接”,在脚本URL域中填写上传到网站的脚本的URL,如:http://www.mysite.com/asp/webdb.aspx,然后选择驱动程序 ,脚本URL为webdb.asp的选择“ASPMicrosoft
Access Driver .mdb”,dbq填写MDB文件的相对于webdb.asp的URL或绝对URL或MDB文件的 绝对路径,如../mdb/mydb.mdb、/mdb/mydb.mdb、C:Inetpubwwwrootmdbmydb.mdb;脚本URL为webdb.aspx的选择“ASP.NETMicrosoft Jet 4.0 OLE DB Provider”,Data Source的填写方法与dbq一样; 4、点击新建的连接,然后输入密码(如果有的话)就可以了。
软件下载网址:官方网站http://www.greatengine.com/DownLoad华军软件园http://yncnc.onlinedown.net/soft/29697.htm天空软件站http://www3.skycn.com/soft/17099.html网易http://dl.163.com/html/53/53403.htmlZD Net Chinahttp://www.zdnet.com.cn/download/windows/swinfo/0200800503139176140s00.htm3.
Access 如何制作复杂报表如何制作复杂报表——利用 Excel 输出复杂报表 在读这篇文章以前首先要提醒大家,
Access 本身的报表也具有很强的实用性和强大的功能,只有当你发掘了其本身全部的功能却仍不能满足你对报表的特殊要求时才请使用 Excel 输出报表。
很明显,使用Excel 输出报表第一个弱点就是必须同时打开
Access 和 Excel 当然,你得在一台机器上同时安装
Access和 Excel,当然如果你和我一样拥有工作在 966MHz 上的 CPU 和 256M 内存以及大容量硬盘时,那就不必考虑了,继续吧。
首先找到 VBA 编程界面并找到quot工具quot菜单并单击quot引用...quot菜单项,在弹出的quot引用quot窗体中找到quot现有引用quot列表,在名为quotMicrosoft Excel x.0 Object Libraryquot的项目前的方框内打钩。
其次,你要做好一张空白的 Excel 电子表格,设定好显示字体、边框、打印纸张等等并将其存盘。
以下示例中该表格名为 quottemp.xlsquot 当然啦,直接使用空白的 Excel 文件也是可以的,不过你要编程自动生成表格边框、背景颜色、单元格格式等一些内容,这些涉及到 Excel 编程,我以后会在 Excel 专栏里详细叙述,这里就不多说了。
然后你就可以在
Access 里面制作你自己的打印预览窗体了,在窗体中安排 2 个命令按钮,在名为预览的按钮的 click 事件里输入以下代码: Private Sub ExcelPreview_Click Dim xlApp As Excel.Application Dim xlBook As Workbook xlSheet As Worksheet Set xlApp CreateObjectquotExcel.Applicationquot Set xlApp New Excel.Application xlApp.Visible True Set xlBook xlApp.Workbooks.Openquotc:reprottemp.xlsquot Set xlSheet xlBook.Worksheets1 xlSheet.Cells3 1 quot制表日期:quot quot12quot quot 月quot 以上只更改了一个单元格内的数据,可根据需要无限次加入 xlBook.Save xlSheet.PrintPreview 如果是要打印,只要把 PrintPreview 改为 PrintOut xlBook.close xlApp.Quit End Sub OK,然后就可以单击该按钮看看生成的表格如何了。
4.
ACCESS 数据库中的中文报表制作数据库应用中很关键的数据输出形式是“报表”,
ACCESS 提供的报表向导,只针对国外的报表形式,就是线条较少的报表。
而我们的中文报表,传统形式是线条较多的网格形式,所以,不能简单地通过向导来完成。
现就本人使用
ACCESS 的经验,结合实例,谈一下如何在
ACCESS 数据库中制作我们的中文报表。
---- “产品销售利润明细表”的制作:---- 1. 新建报表:选“自动报表:表格”,数据来源选表如 XSLR 表,确定后,产生一个简单的报表,在此基础上进行修改。
---- 2. 页面设置:边距方面,调整靠左、靠右来达到最大打印范围。
页面方面,打印方向设置为纵向, ,长度为 1100(一页纸长度)纸张大小选自定义大小,宽度为 1660(最大) ,单位为 0.01 英寸。
---- 3. 版面设置:删除报表页眉、报表页脚。
将页面页眉的内容删除。
在页面页眉中插入对象,选MICROSOFT WORD 文档,在 WORD 文档中画出表头,填上内容,注意,汉字之间要空一格,否则,到
ACCESS 报表输出时,汉字会出现乱码。
对此 OLE 控件设置属性:背景样式为“透明”,边框样式为“透明”。
在主体部件插入对象,选 MICROSOFT WORD 文档,在 WORD 文档中画出表格线方格,行宽可比表头行宽大一些,对此 OLE 控件设置属性:背景样式为“透明”,边框为实线,边框宽度为细线,设置各字段文字类型及大小,将各字段调整到方格内。
(A3 至 A13 为数值型---- 4. 在 DETAIL 的 FORMAT 事件中写入代码,以完成对零值的屏蔽。
代码如下:字段)Private Sub Detail_FormatCancel As Integer FormatCount As IntegerIf A3 0 ThenA3.Visible FalseElseA3.Visible TrueEnd IfIf A4 0 ThenA4.Visible FalseElseA4.Visible TrueEnd IfIf A7 0 ThenA7.Visible FalseElseA7.Visible TrueEnd IfIf A8 0 ThenA8.Visible FalseElseA8.Visible TrueEnd IfIf A9 0 ThenA9.Visible FalseElseA9.Visible TrueEnd IfIf A11 0 ThenA11.Visible FalseElseA11.Visible TrueEnd IfIf A12 0 ThenA12.Visible FalseElseA12.Visible TrueEnd IfIf A13 0 ThenA13.Visible FalseElseA13.Visible TrueEnd IfEnd Sub5.
ACCESS 集锦1、使窗体或报表的文本框随文字的多少自动加大或缩小: 文本框属性“可以扩大” 2、控制某字段只能填写某些内容:也许你想让使用程序的人只能在某个字段里 a,那么你就得控制他不难让他填 b。
具体表达式为 Instr(quotabcquotA)gt0 3、并置几个字段:也许你填表时有两个字段分别是“湖北大学”、“数学专业”,但当你在打印报表时却想让这两个了段变为一个字段放在一起,即“湖北大学数学专业”,那么最好的办法就是并置。
表达式为: AampB或者AampquotquotampB 4、查询中的计算字段:也许在您的表中有两个数字字段,然后您想在报表中出现一个关于这两个字段关系的字段,那么简单的方法就是计算,这计算可以加,可以减,可以乘,可以除,视情况而定。
表达式为: 名称:AB这里假设相乘,“名称”可自定 5、计算年龄表达式:有人喜欢在表中设计录入一个人的年龄,这不是聪明的做法。
因为每个人的年龄是在不断增加的,到下一年再重新进行大批量重新录入,那就没有电脑的智能作用。
最好的做法是在表中设计一个身份证号码字段。
有了这个字段后,某人的“年龄”和“性别”都是可以确定的,而且一劳永逸,除非你不会把你计算机的系统时间调准确。
这里是假设表中已经有“出生年月”字段以后通过它确定“年龄”的表达式: DatediffquotyyyyquotAnow 6、在窗体或报表进行值转换:有时候想将表中的在窗体或其他地方显示为你想要的内容,办法就是进行值转换。
比如表中有“出生年月”的记录,你想在窗体不显示具体的出生年月,而显示“今天是这人的生日”或“这人距生日还有 x 天”这样的信息,或者有一个“分数”字段而你却想在窗体上显示出某学生是“优生”、“差生”、“及格”等信息,你要用上以下表达式: iifAxquotyquotiifAzquotpquotquotmquot 7、在窗体中对某字段进行数据锁定:在用窗体编辑数据时,有时你可能不想让人对其中某一个或几个字段进行修改,那么,你得对不想让人修改的字段进行锁定。
其方法: 字段-属性-数据-是否锁定-是 8、求和表达式:对两个以上字段值进行求和,表达式为: SumAB…… 9、标签并置并且格式化数字字段:如果你想将表中电话号码“”在窗体或报表显示时变为“1397-2088783”,你就得用以下表达式: TrimAamp quotquotampBampquotquotFormatCquot-quot 10、并置运算: 安符与非字符:quot今天日期是:quotampdate 字段与字段: AB 字段与字符: A ampquotabcquotA、B、C 为任意字符 11、显示带有文本的系统日期: quot今天是:quotcstrdate 12、把字段内容直接嵌入文本表达式:如果你想让打印的报表的表头随调入的动态数据的改变而跟着改变,你必须用此方法: 单位名称ampquot教职工花名册quot formatnowquotyyyyquotamp单位名称ampquot教职总数quot quot这位同学名叫quotamp姓名ampquot,quotquot其中考总成绩为quotamp总成绩ampquot。
quot 13、在查询中更改字段名称: 新名称:(放在原字段前) 14、返回确定日期段的数字值: Datepartintervaldatefirstweekdayfirstweek 15、查询窗体打开时不显示空白的代码:按某种条件进行查询,目的是要打开一个显示窗体。
可是有时候或因为输错条件,或因为根本没这个记录,那么你可能得到一个非常让你失望的呆板的“白板窗体”。
避免这种情况发生的做法就是,在该窗体的“打开”属性中输入以下代码: On Error GoTo err DoCmd.GoToRecord acLasti Me.CurrentRecord DoCmd.GoToRecord acFirstexit_form_open: Exit Suberr: MsgBox quot您要查找的数据不存在,请核实后重新输入。
quot DoCmd.Close 16、设置默认值的技巧:在表中输入也好,在窗体中输入也好,将某些字段设一个默认值并不困难,但是,要保证不同的用户能够随时重设默认值,就显得麻烦一些。
具体的思路是:先预设一个窗体供用户在其中更改默认值,然后,让你的录入窗体的各个字段直接在用户已经预设好默认值里读取预设信息。
17、显示动态记录个数的方法:查找记录时,有时你查找到的可能并不只有一个记录,特别是进行模糊查询是更是如此。
那么,到底有多少个记录呢?你需要在窗体设计时,在合适的位置上加一个文本框,然后在里面输入以下表达式: quot您已经找到了quotampcountaampquot个符合条件的记录。
quot(“a”是表中的字段名称) 18、在学生信息的查询结果窗口内,你可以看到一个关于记录数量的提示,有时显示“符合条件的记录只有一个”,而有时显示“符合条件的记录共有 x 个……”。
如何实现的呢?这里有一个复杂的表达式如下: quot符合条件的对象quot amp IIfSum同名合计1quot只quotquot共quot amp quot有quot amp Sum同名合计 amp quot人 quot ampIIfSum同名合计gt1quot请按 PAGEDOWN 键查看下一个quotquotquot 19、查询结果窗上,还有一个关于“学习进步”的祝词,如果碰巧你查询到的孩子那天生日,下面会提示“嘿嘿,今天是这孩子生日啊,让我们祝他生日快乐!”。
这里也有一个条件表达式: IIfMonth出生年月MonthNow And Day出生年月DayNowquot嘿嘿今天是这孩子生日啊让我们祝quot amp 姓名 amp quot生日快乐quotquot好人一生平安祝quot amp 姓名 amp quot同学学习进步茁壮成长quot6.
Access2003 开发者扩展工具集概述许可和分发权限
Access 2003 Developer Extensions 随附的许可协议简化了解决方案或代码段的分发过程。
这些协议包括免版税的
Access 运行时,您可以分发
Access 解决方案和
Access 数据项目,以及免费使用和分发工具源代码部分以作为您的解决方案的一部分。
轻松部署解决方案
Access 2003 Developer Extensions 可帮助开发人员轻松部署和管理使用
Access 构建的解决方案。
用于软件包和部署的新工具加快了管理和部署过程,而许可和分发协议使开发人员可以作为第三方或内部开发人员更容易地将解决方案推向市场,不论是向小公司还是向大型企业。
软件包向导
Access 2003 Developer Extensions 包括软件包向导,可帮助开发人员创建用于
Access 解决方案的专业安装例程。
向导还自动包括
Access 运行时文件,如果选择的话,还将包括组成解决方案的
Access 解决方案文件。
所创建的安装程序将 Microsoft Windows标准的 Windows Installer MSI用于安装例程,并且将为解决方案自动创建快捷方式,如果出现安装了两个不同版本的
Access 的情况,快捷方式将使用合适的 AccessEXE。
可轻松地自定义用软件包向导创建的安装程序。
该向导将创建一个 Windows Installer 脚本,任何熟悉脚本语言的用户都可对它进行修改。
此外,还可以使用支持 Windows Installer 文件的任何第三方工具自定义所生成的 MSI。
简化开发和测试过程
Access 2003 Developer Extensions 为
Access 解决方案开发人员提供了一套工具,可减轻构建
Access解决方案的繁重的工作量,并简化生产环境。
所叙述的功能可清除测试障碍,并开发出高质量的解决方案。
属性扫描程序加载项 在开发解决方案时一项常见的繁重任务是:更改某个功能或用户界面对象的名称,而该功能或对象在整个解决方案中处于折叠状态。
这需要查看每个模块、窗体并创建报告,以查找不合要求的字符串并重新命名它。
如果使用通常包含各种窗体和报告的
Access 解决方案,这个过程可能会很艰苦和耗时。
有了
Access 2003 Developer Extensions 后,通过使用属性扫描程序加载项,这个任务得以大大简化。
该工具使开发人员可以在
Access 解决方案中全局搜索自定义字符串。
该工具将搜索表、查询、窗体、报告和模块中的所有属性或代码-几乎
Access 中的所有对象都将被搜索。
搜索完成后,属性扫描程序加载项将提供一个搜索结果列表,用户可直接跳到在其中找到自定义字符串的对象。
在部署
Access 解决方案时,开发人员通常创建一个 MDE 文件,该文件是一个
Access 解决方案MDB文件,已被全部分解为源代码。
MDE 文件提供安全的解决方案,可分发到一个客户或多个客户。
在分发过程中,开发人员有时需要创建多个 MDE 版本的解决方案,每个版本的方案都有不同的启动属性。
在
Access 中这个过程可能有些单调,但是如果使用
Access 2003 Developer Extensions 中的自定义启动向导,这个过程就会变得很轻松。
开发人员只需指定原始的解决方案、目标数据库以及要设置的其他选项和启动设.