基于VB与Access数据库的Intouch报表系统的设计与实现
- 格式:pdf
- 大小:206.07 KB
- 文档页数:4
基于VB和Access的InTouch报表系统的开发
谢卓成
【期刊名称】《工业控制计算机》
【年(卷),期】2010(023)009
【摘要】利用InTouch的脚奉功能进行数据采集,写入Access数据库,通过VB开发的报表系统把生产数据以表格和曲线的形式显示出来,在生产数据的分析和总结中起到了较好的作用.
【总页数】3页(P3-4,6)
【作者】谢卓成
【作者单位】中山火炬水务有限公司,广东,中山,528437
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于VB与ACCESS的固井水泥车参数监测系统软件开发 [J], 李进;吕海丹
2.基于与Access的卫生人才管理系统软件的设计与开发 [J], 周蕾蕾;蒋红兵;方莹;徐磊
3.基于VB与Access数据库的Intouch报表系统的设计与实现 [J], 杜岗;邹孝付;韩芳成
4.基于VB6.0+Access2010开发的设备管理信息系统 [J], 祝贺
5.基于ACCESS和VBA学生考勤管理系统的开发与实践 [J], 黄思棉
因版权原因,仅展示原文概要,查看原文内容请购买。
INTOUCH连接ACCESS数据库图⽂教程INTOUCH数据写⼊ACCESS数据库⼀、创建数据库新建并打开⼀个INTOUCH⼯程TEST⼯程名“TEST”打开“特别”菜单,选择“SPC”下⾯的“数据库(B)”点击数据库后打开以下窗⼝数据库类型中选择“Microsoft Access (Local)”,ODBC数据源选择“新”打开ODBC打开数据资源管理器在ODBC数据资源管理器的⽤户DSN下⾯点击添加选择以下选项后点完成弹出以下窗⼝在数据源名中输⼊“INTOUCH_ACCESS”(此处名称为⾃定义),点击“创建”按钮弹出以下窗⼝在数据库名下⾯输⼊数据库的名称,这⾥定义为TEST.mdb,在驱动器下⾯选择数据库存储的盘,⽬录下⾯选择存储路径,这⾥选择存在C:\下⾯确定后会弹出创建数据库情况点击确定,直到回到“配置SPC数据库”窗⼝点击以上窗⼝的验证数据库创建成功,点击“保存”、“确定”退出以上完成后可在C:\下看到创建的TEST.mdb数据库⽂件⼆、创建变量连接选择“特别”菜单下⾯的“SQL 访问管理器”下的“绑定列表(B)”弹出以下对话框选择“是”选择“新建”弹出以下窗⼝给绑定列表名命名为ACCESS_DATABASE(可⾃定义),在标记名.域名中添加要写⼊数据库的标记名,列名为标记名对应的数据库TESE.mdb中列,写好后点击“添加项”,直到把所有需要的标记名添加完后确定打开TEST.mdb创建新表命名为TABLE1,打开TABLE1,添加字段DATABASE_NO1、DATABASE_NO2、DATABASE_NO3保存并关闭ACCESS三、调⽤函数在INTOUCH中创建⼀个新窗⼝,并放置三个游标,游标标记名分别为NO1、NO2、NO3在本窗⼝中创建三个按钮“CONNECT”,“INSERT”,“DISCONNECT”“CONNECT”⽤于打开连接“INSERT”⽤天插⼊记录“DISCONNECT”⽤天断开连接创建标记名:ResultCode 内存整形ConnectionID 内存整形在CONNECT按钮下写以上触动脚本数据库表名绑定列表名在“INSERT”中写以上触动脚本在“DISCONNECT”中写以上触动脚本四、运⾏测试再创建⼀个标记名ErrorMsg 内存消息在以上三个按钮触动脚本中添加以下脚本IF ResultCode == 0 THENErrorMsg = "No errors occurred";ELSEErrorMsg = SQLErrorMsg(ResultCode);ENDIF;在SQL_ACCESS窗⼝中添加“MSG=”⽤于显⽰ErrorMsg 运⾏画⾯如下点击“CONNECT”测试连接是否成功说明连接成功扡动游标改变NO1、NO2、NO3的值再点击“INSERT”点击“INTOUCH”后也提⽰⽆错误,说明数据写⼊TEST.mdb成功,这下可打开TEST.mdb检查结果数据写⼊“TABLE1”成功当不⽤往数据库写数据时应该断开连接,点击“DISCONNECT”断开连接点击后⽆错误发⽣,断开连接成功,⼀切OK,此时只需稍加修改就可以实现数据的⾃动存储了,也可以调⽤其他的SQL函数对数据库进⾏操作,做到⾃⼰想要做的得到的结果就OK 啦!作者:ZWHUI。
VBA操作Access数据库的综合案例在本篇文章中,我将介绍一个基于VBA的综合案例,该案例涉及使用VBA操作Access数据库。
我们将通过一个具体的示例来展示如何利用VBA编写代码,以实现对Access数据库的读取、写入和更新等操作。
这个案例将帮助读者了解和学习如何使用VBA来操作Access数据库,并在实际应用中发挥作用。
首先,我们需要明确本案例的目标。
我们将创建一个学生信息管理系统,该系统可以用于记录学生的个人信息及其成绩。
我们将使用Access数据库来存储学生信息,然后通过VBA编写代码来实现对数据库的操作。
在开始编写代码之前,我们需要先创建一个Access数据库,并在其中创建一个名为"Student"的表格,该表格包含以下字段:学生ID、学生姓名、性别、年龄、班级、数学成绩、英语成绩、总分。
接下来,我们将通过VBA来实现对这个表格的各种操作。
我们首先需要在VBA中引用Microsoft Access Object库,这样才能使用Access的相关功能。
在VBA编辑器中选择"工具"->"引用",然后勾选上"Microsoft Access 16.0 Object Library"。
这样我们就可以使用Access的对象、方法和属性了。
接下来,我们可以开始编写代码。
我们将以以下功能为例进行说明:1. 添加新学生信息:我们可以通过以下代码向数据库中添加新的学生信息。
```vbaSub AddNewStudent()Dim db As DAO.DatabaseDim rs As DAO.Recordset'read student informationDim studentID As LongDim studentName As StringDim gender As StringDim age As IntegerDim className As String'connect to the databaseSet db = CurrentDb()Set rs = db.OpenRecordset("Student", dbOpenDynaset) 'input student informationstudentID = InputBox("Enter Student ID:")studentName = InputBox("Enter Student Name:")gender = InputBox("Enter Gender:")age = InputBox("Enter Age:")className = InputBox("Enter Class Name:")'add new record to the tableWith rs.AddNew!StudentID = studentID!StudentName = studentName!Gender = gender!Age = age!ClassName = className.UpdateEnd With'close the recordset and the databasers.Closedb.CloseSet rs = NothingSet db = NothingMsgBox "New student added successfully!"End Sub```上述代码首先连接到数据库,然后通过InputBox函数获取用户输入的学生信息,在表格中添加新的记录,最后关闭数据库。
VB如何连接ACCESS数据库详解首先有一点要注意,数据库的使用与我们以往所使用的文本文件不同.例如我们使用文本文件,来记录各种有用的数据.那么大致有以下几步:读取文件--格式化数据--关闭文件--使用数据如果数据量很大,须要展开甄选,且存放数据的源文件可能将不定时更改,那么我们可以用一个临时文件去放置有价值的数据,这样可以大大提高程序的效率.必须[格式化数据]时,我们首先必须展开甄选,然后还得展开分类,这样文件中的字符串就可以被转换成有价值的信息以供程序采用.这样一来,不用说,处理速度将大大减缓,而且即使你设计的数据格式比较科学,当数据量非常小时,文件的容量也可以变小的使普通计算机无法忍受.相对文本文件来说数据库的使用也大致分为以下几步:打开数据库--查找数据--使用数据--关闭数据库从中可以窥见,里面太少了一步格式化数据,因为数据库本身在存储数据时,它就是按照一定的格式去展开存储的.其次是,数据库与文本文件返回数据的方法不同.如果把文本文件比作一个textbox的话,那么数据库更像是一个listbox.使用文本文件时我们需要从整个textbox中取出有用的信息,并进行处理,而listbox则可以根据需要返回特定的某一项.由于vb本身并不具有可以出访数据库的类,所以我们须要提及一个涵盖能够出访数据库的Derrien采用数据库.这里我们使用adodb,较之dao和能够出访数据库的api来说,它比dao更有效率,更强悍;而较之api,它更直观功能强大,更适宜初学者.而access数据库较之sql,也相对直观了很多,且能满足用户中小型应用程序的须要,所以我们在采用数据库时,挑选了access.就像使用文本文件来存储数据一样,我们需要先设计好数据结构,只不过在设计access 数据库的结构时,我们需要用到其它的程序来进行详细的规划.建议采用的程序是office 中的access或vb自带的visdata.当数据库设计不好了以后,我们可以已经开始\数据库编程\了.首先,我们需要引用ado.具体的方法是,在\工程\--\引用\中,找到\activexdataobject*.*library\这里的\是指的时ado的版本号,一般来说,应用程序或activex控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确保程序在能识别旧版本access的同时,也能识别较新版本的access.然后我们须要在程序中建立一个对象.就如同我们在窗体上嵌入一个filebox就可以看见文件名一样,只有建立了ado对象,我们才能出访数据库.常用的对象存有两个,connection和recordset.创建这两个对象的具体方法是:1.在引用后,使用new关键字,如privateconnasnewadodb.connectionprivaterecoasnewadodb.recordset2.在没有提及时,用createobject创建对象:dimconn,recosetconn=createobject(\setreco=createobject(\建立了对象之后,下一步我们必须搞的就是关上数据库了.先看看下面的代码,可以顺利的关上数据库.conn.open\这句代码打开了d盘中的main.mdb这个数据库.connection.open方法的第一个参数就是相连接代码,它将传达给系统的数据库引擎.前半部分后\microsoft.jet.oledb.4.0\它则表示了数据库的类型.相同的数据库可能会相同.后半句\它则表示了数据库所在的绝对路径.打开数据库之后,还要打开表.假如数据库中有一个表,表名为\字段有两个,一个为用户名,一个为密码.那么看以下代码.1.想要回到\中,[用户名]为\去年烟花\的[密码]recordset.open\密码fromuserswhere用户名='去年烟花'\之后我们就可以把用户输出的密码展开比较,看看与否容许登入.ifrecordset.eofandrecordset.bofthenmsgbox\用户不存有!\elseifpassword=recordset(\密码\msgbox\登录成功!\elsemsgbox\密码错误!\endifendifrecordset.close2.假设admin已经顺利登入系统,我们想要把所有的用户名和密码都表明出recordset.open\这时,表中已经被关上,我们就用以下代码把它表明出.dowhlienotrecordset.eofprint\用户名:\用户名\密码:\密码\recordset.movenextlooprecordset.close由以上代码示例可以看出,打开表时,可以只打开其中的一个字段,也可以打开所有.第一个参数是sql语句.select[字段名]from表名[where条件]这里的条件可以省略.且字段名也可以用\来代替所有字段.须要特别注意的就是,如果你用(1)中的方法关上,那么(2)后面表明的代码就无法皮德盖在(1)中.因为(1)里并没关上[用户名]字段,所以这一句recordset(\密码\就没值存有,除了可能将失效.后面的条件,可以用\、\、\等运算符.比如说\这里假设[id]为数字型.)这是打开的部分.第二个很重要的部分就是查询记录.数据库它并不是把所有记录全部放在一个变量中水泵的.而是以\当前记录\的形式去回到一个值.所以我们想要从中找出有价值的信息,就必须必须对信息展开定位/甄选.定位:移动到下一条recordset.movenext移动到上一条recordset.moveprevious移动到最后一条recordset.movelast移动至第一条recordset.movefrist移动至某一条recordset.movenumber甄选:recordset.find\条件\recordset.find\用户名=\ifrecordset.eof<>truethenmsgbox\该用户的密码是:\密码\elsemsgbox\未找到该用户的资料!\endifendsubmovenext只有当eof不为true时,才可用,否则发生错误.而moveprevious刚是bof不为true时....而只要eof和bof中存有一个不为真时,也就是说只要存有一条记录时,它就可以采用.find方法中的条件和open时的第一个参数中的条件表述方法是完全一致的.当在已打开的记录集中,找不到该记录时,eof为true.找到则当前的值就是符合条件的记录.第三个部分就是嵌入/修正记录.修改记录很简单,先按以上的方法找到相关记录之后,给记录赋值就可以了.比如:[(修改密码)按方法(1)打开表之后]recordset(\密码\recordset.updata须要特别注意的就是,在修正顺利完成后,必须调用updata方法,这样修正就可以生效.而嵌入记录则可以用以下代码去同时实现:recordset.addnewrecordset(\用户名\recordset(\密码\recordset.updata这里,先必须调用addnew方法,减少一条崭新记录,然后对这个崭新记录中的各字段赋值,最后再调用updata方法.到这里就差不多了,最后说一下上面提到的几个方法.recordset.opensql语句,数据源,游标类型,打开方法sql语句不用说了,就是select那啥的,目的就是按建议从表回到数据数据源就是一个关上之后的connection对象.回去他妈的游标类型,填上1就可以了[里头ing]打开方法对应了几个常数,具体哪几个可以从对象浏览器里看.对应数值的意义:1所读2独霸3展毛4自已可以写下,别人复本connection.open相连接代码,服务器用户名,密码这里的连接代码就不在多说了,服务器用户名,密码只有在连接远程数据库时才用到.在搞项目时,经常碰到必须将excel中的大量数据复制到access数据库中,原来的作法就是念一条写下一条,若引入上万条的数据须要几分仲时间,速度很慢。
VB中用ADODC控件连接ACCESS数据库VB中用ADODC控件连接ACCESS数据库教程 2010-03-27 10:15:57 阅读346 评论0 字号:大中小订阅今天告诉大家VB连接数据库的方法,我知道的有两种: 一种是在 adodc1的属性里设置数据库文件的路径,这种方法的优点是简单易操作,缺点是,当源文件换了地方后,要重新设置数据库的路径,否则连接不上数据库了。
一种是用代码设置数据库的路径,这种方法的优点就是只要源文件和数据库在同一文件夹下,无论移动到哪里都能连接上。
如果没有建立好数据库的话,先建立一个数据库,然后建立一个表比如我们建的表名为message,然后把里面的字段名称和数据类型都按自己的需要设置好.然后保存就可以了. 打开Microsoft VisualBasic6.0 我用的是VB6.0,在需要调用数据库的窗体上加入一个adodc控件,默认名称为:Adodc1.默认的情况下工具栏里是没有这个控件的,可以打开工程---部件(快捷键CTRL+T),去掉只显示选定项的勾,然后勾上Microsoft ADO Data Control(OLEDB),然后确定,工具栏就会多了一个adodc的控件。
第一种方法,设置adodc1的属以连接数据库.在adodc1控件上右键--Adodc属性--使用连接字符串--生成--Microsoft Jet 4.0OLE DB Provider--下一步--选择或输入数据库名称---找到要连接的数据库后,确定.然后记录源设置属性. 如果要把内容提交到数据库一般使用adCmdTable. 表选择要连接的表。
设置完毕后就可以了.如果我们想把内容提交到数据库.举个例子..在窗体建立一个文本框,设置属性中的DataSource为adodc1 DataField为要连接的数据库的字段名。
如果数据库中有字段,会让你选择。
设置好后在窗体加一个添加记录和一个提交的按钮,设置代码: Private Sub Command1_Click()Adodc1.Recordset.Update '保存Adodc1.Refresh '刷新End Sub添加按钮代码:Private Sub Command2_Click()Adodc1.Recordset.AddNew '添加新纪录Adodc1.Recordset("姓名").Value = Text1.TextEnd Sub第二种方法:在窗体添加Adodc控件一个text控件一个添加记录按钮一个提交按钮在窗体设置代码:Private Sub Form_Load()Adodc1.ConnectionString ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\db1.mdb;Persist Security Info=False" '设置数据库路径mandType = adCmdText '设置记录源Adodc1.RecordSource = "select * from message" '连接数据库的message表文件Set Text1.DataSource = Adodc1text1.DataField = "姓名"End Sub添加记录按钮代码:Private Sub Command1_Click()Adodc1.Recordset.AddNew '添加新纪录End Sub提交代码:Private Sub Command2_Click()Adodc1.Recordset.Update '保存Adodc1.Refresh '刷新End Sub好了连接方法讲完了,我都在机子上测试过了,因该没有什么问题的。
IFIX通过VB脚本调用ACCESS数据库数据制作报表作者的前一篇文章已经详细介绍了,如何通过调度将数据保存在access数据库中,今天分享一下,通过脚本调用数据库中的数据形成报表。
步骤01:建立报表模板1.使用Excel根据实际报表样式建立报表模板2.将报表模板另存为(*.htm,*.html)格式文件,文件打开如下图所示:步骤02:新建报表查询画面1.通过IFIX工具箱中的插入OLE对象,插入控件Microsoft date and timecontrol,控件属性中,将customformat值修改为yyyy/MM/dd HH:mm:ss,控件名称默认为DTPicker1;2.同样通过IFIX工具箱中的插入OLE对象,插入Microsoft Web Broswer控件,用于显示报表;3.通过工具箱插入按钮,用于进行报表查询;如下图所示:步骤03:VB脚本开发,调用ACCESS数据库中的历史数据,填写到报表模板中;具体脚本如下:Private Sub CommandButton4_Click()'On Error Resume NextDim OutReportFile As String '定义打开的报表模板路径和名称变量Dim InReportFile As String '另行保存报表的路径和名称变量Dim cn As ADODB.ConnectionDim res As ADODB.RecordsetDim StrSQL As StringDim i As IntegerDim row As IntegerDim MyDateMyDate = Format(Now(), "yyyy-MM-dd")Dim msexcel As Excel.ApplicationSet msexcel = CreateObject("Excel.Application")With msexcel.Visible = False '如为FALSE,则不显示EXCEL。
vb连接Access数据库实例下面我们给出一个连接到Access数据库的实例,此例中用到的数据库为Access 2003。
首先在e盘建立一个名为vb的文件夹,然后打开Access 2003,单击“文件”→“新建”,在右侧出现的任务窗格中单击“空数据库”,在出现的对话框中,我们在"文件名"项后输入给新数据库起的名称并选择保存位置,这里我们为新数据库命名为Access_db并保存到我们刚才建立的文件夹中,如下图,单击"创建"按钮后,系统就生成了一个新的Access空数据库。
在空数据库中,还没有任何用户所创建的表,接下来我们就要使用设计器(如下图)为Access_db数据库建立表。
首先我们为Access_db创建一个名为“wzdz”的表,该表由以下4个字段组成:(1)编号:此为Access自动添加的主键字段,我们直接拿来使用。
我们可直接设置后三个字段,在输入完了wzdz表的各个字段之后,此时关闭表设计器,Access 会提示是否要进行保存表,选择“是”,然后为表起名为“wzdz”。
因为没有定义主键(primary Key),Access会提示为表加上一个主键,按提示将编号设置为主键即可。
(2)后三个字段分别为网站名称、网站地址和网站描述,三个字段的属性是相同的,如下:▲数据类型:文本。
▲字段大小:50▲有效性规则:无。
▲必填字段:否▲允许空字符串:否▲索引:无设置完以上字段后,再重新在设计视图中打开wzdz表(方法:在设计器中右击wzdz表名,选“设计视图”命令),应如下图所示:有了数据库和表之后,如果想让VB应用程序访问数据库,还需进行数据源的配置。
只有在配置完成了数据源之后,才能让VB应用程序同数据库进行正确的连接工作,在VB应用程序中才可以通过ADO对象来进行具体数据的操作,如果在建立了数据库之后没有对数据源进行配置或者对数据源的配置工作出现错误,则在此之前所做的一切工作都是白费的。
Intouch报表作法(access版)一.将电脑的时间格式设为如下二.如果电脑没有dtpicker控件,可将mscomct2.ocx控件拷贝到“C:\WINDOWS\system32”目录下,在开始-运行中输入“mscomct2.ocx”进行注册,即可用。
(注册方法:regsvr32 mscomct2.ocx)。
三.做excel报表模板REPORT.xls,如下1.做报表模板,设置每一列的数据格式(字体和小数位数等)。
2.在“工具\宏\visual basic编辑器”进入VB环境插入窗体如下图如果工具箱没有没有dtpicker控件,在工具箱空白处鼠标右键-附件控件中找。
3.“工具\控件”菜单下添加如下引用。
四.Intouch安装时选上intouch自带的SQL安装包。
1.在intouch“特别\SQL访问管理器\绑定列表(B)”下添加列表(可见多个列表)。
绑定列表名为REPORT1。
如下图:2.在“控制面板”-管理工具-数据源(ODBC)下“系统DSN选项卡”中创建数据源。
本例中数据源名为INTOUCHDSN,“创建”-保存在某一目录下。
(本例中在“E:\REPORT\TEMPLAT”目录下,文件名为MYREPORT.mdb)3.打开MYREPORT.mdb,第一项“使用设计器创建表”,分别配置字段(字段名和intouch绑定列表中的“列名”对应,注意大小写),配置字段的数据类型(数字),属性表中配置字段大小为“小数”或“双精度”。
保存为TABLE1.4.INTOUCH-“应用程序脚本”中输入如下函数STA TUS=SQLConnect( ConnectionID, "Provider=MSDASQL;DSN=INTOUCHDSN;UID= ;PWD= " );INTOUCH-“数据改变脚本”中输入如下函数STA TUS=SQLInsert( ConnectionID,"TABLE1","REPORT1" );STA TUS=0表示没有错误。
Access数据库VBA编程实例通用成绩处理系统Access Database VBA Programming Example - General Score Processing SystemBy Wu Yaomin。
n Technology Group。
Zhaoan No.1 Middle SchoolAfter studying Chapter 4 "Developing Database n Systems" of the elective course "Database Management Technology" in high school。
students have learned how to design simple n systems。
In order to XXX capabilities。
a general score processing system is developed using VBA。
with score XXX.I。
Overall Analysis and Design of the SystemThe score entry adopts the EXCEL electronic spreadsheet template method。
Each class submits the electronic spreadsheet in the form of a grade level。
which is then imported into the generalscore processing system after being summarized by the grade level。
The system then calculates the total score。
ranking。
and quality analysis。