VB中怎么载如或显示Access数据库中的报表
- 格式:doc
- 大小:38.50 KB
- 文档页数:5
VBA与Access的联动操作指南VBA(Visual Basic for Applications)是一种用于编写宏的编程语言,主要用于增强微软Office系列软件的功能。
Access 是微软Office套件中的一款数据库管理系统,集成了数据存储、查询和报表生成等功能。
在许多企业和个人使用Access 来管理和分析大量的数据。
通过VBA编程与Access的联动,可以更加高效地处理和管理数据。
本文将为您提供VBA与Access的联动操作指南,帮助您更好地利用这两个强大的工具。
第一部分:VBA基础知识1. VBA概述:简单介绍VBA的由来、特点和应用范围。
2. VBA开发环境:详细介绍如何打开VBA开发环境,以及各个窗口的作用。
3. VBA语法和结构:讲解VBA的基本语法规则和编程结构,如变量的声明和赋值、条件语句、循环语句等。
第二部分:Access基础知识1. Access概述:简单介绍Access的功能和应用场景,以及其与VBA的关系。
2. Access数据库的创建:指导用户如何创建一个新的Access数据库,并设置字段和数据类型。
3. Access数据库的查询和报表:介绍Access的查询和报表功能,帮助用户根据自己的需求进行数据的检索和分析。
第三部分:VBA与Access联动1. 访问Access数据库:通过VBA代码连接Access数据库,并实现数据的读取和写入。
2. 数据的增删改查:使用VBA代码实现对Access数据库中数据的增加、删除、修改和查询操作。
3. VBA与Access的交互:介绍如何使用VBA与Access进行交互,包括运行Access中的宏和报表等。
第四部分:案例分析1. 案例一:利用VBA和Access实现数据的自动导入和分析。
介绍如何通过编写VBA代码自动将外部数据导入Access数据库,并使用VBA自动执行数据分析和生成报表。
2. 案例二:通过VBA和Access实现数据的批量处理。
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函数获取用户输入的学生信息,在表格中添加新的记录,最后关闭数据库。
ACCESS数据库和VB的连接Edited by Ryan 20131、建立Access数据库2、启动VB,建立标准EXE图13、添加ActiveX控件鼠标指向任意VB控件,单击右键,选择“部件(O)”,出现图3所示界面图2图3选择部件“Microsoft ADO Data Control 6.0 (OLEDB)”,出现如图4所示控件图44、添加控件Adodc图54、在控件Adodc上添加数据源鼠标指向控件Adodc1,单击右键,选择“ADODC 属性”,弹出如图7所示界面图6图7单击“生成(U). . .”,弹出如图8所示界面图8选择“Microsoft Jet 4.0 OLE DB Provider”,单击“下一步(N) >>”,弹出如图9所示界面图9单击“. . .”,添加数据源(第一步所建Access 数据库),如图10所示图10单击“测试连接(T)”,出现提示框,如图11所示图11之后点击“确定”,退回到如图12所示界面图12单击“记录源”,弹出如图13所示界面图13在“命令类型”下,选择“1 - adCmdText”,在“命令文本(SQL)”下,输入“Select * from test1”,最后单击“应用”,“确定”即可之后,进入程序书写部分程序部分需要注意接头形式及简单例子如下:Private Sub Command1_Click() ‘VB按钮控件Dim mydb As New ADODB.Connection ‘定义新的数据库连接mydb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\read database\test1\test1.mdb" ‘数据库绝对路径Dim rs As New ADODB.Recordset ‘定义数据库的一个对象mydb.Open ‘打开数据库rs.Open "select * from test1", mydb, 3, 3 ‘打开数据库中的表test1For i = 1 To 1 ! For循环控制选择哪一行rs.MoveNextNext iMe.Text1.Text = rs.Fields(1).Value ‘读取指定行中的哪个数据给文本框rs.Update ‘数据显示rs.Close ‘关闭表End Sub。
在VB中运行Microsoft Access报表的好方法
佚名
【期刊名称】《软件》
【年(卷),期】2003(000)011
【摘要】在 VB 中如何使用直观、简便的报表一直是很多人关心的问题,Crystal Reports 用起来又不太理想。
现介绍一在 VB 中运行 Microsoft Access 报表的方法,用起来还不错。
利用 Automation 运行 Microsoft Access 报表1.使用Microsoft Access 建立数据库(如:novelty.mdb)的相关报表(如:rptEmployess)。
2.创建引用在 VB 中使用'Project References'菜单创建一个对 Microsoft Access 8.0 Object Library 的引用。
3.
【总页数】1页(P48)
【正文语种】中文
【中图分类】TP312
【相关文献】
1.Access2010中报表设计方法研究 [J], 王影;
2.巧用ACCESS中的VBA技术实现自由格式报表 [J], 王志新
3.Microsoft Office Access在RSView报表查询系统中的应用 [J], 曹文;孙伟;赵惠
4.Access2010中报表设计方法研究 [J], 王影
5.VB动态操纵Access数据库中OLE字段及产生报表的方法 [J], 张春生
因版权原因,仅展示原文概要,查看原文内容请购买。
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。
这里以链接access数据库为例。
之宇文皓月创作第一部分是通过语句链接,第二部分是通过控件链接一、通过语句链接数据库,然后把相应的数据赋值给某个文本框就行了。
1.首先定义几个全局变量Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim constr As String2.给这些变量赋值,方便链接数据库constr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=D:\EffectSolution\科学效应数据库.mdb"红色部分写你自己的数据库路径。
3.打开数据库cn.open constr打开表rs.open “select * from 效应表where id=5“,cn取字符串并赋值给相应的文本Text1.text=rs.fields(“效应和现象名称”)Text2.text=rs.fields(“文字解说”)关闭表rs.close关闭数据库cn.close注意,最后两步调一定要有,否则下次打开数据库的时候会提示出错的,这样的话,在窗口上建立两个文本框就够了。
但是,在此之前还有一步一定要做,点"工程""引用"找到"Microsoft ActiveX Data Object 2.6 ",如图所示:显示的结果如下图所示:通过与效应表对比发现显示正确。
总体代码如下:Private Sub Form_Load()Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim constr As Stringconstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _"Data Source=D:\EffectSolution\科学效应数据库.mdb"'空格加短下划线暗示续行cn.open constrrs.open "select * from 效应表 where id =5", cnText1.Text = rs.fields("效应和现象名称")Text2.Text = rs.fields("文字解说")rs.Closecn.CloseEnd Sub二、通过ado控件链接数据库,然后通过datagrid控件显示数据库中的相关表。
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对象来进行具体数据的操作,如果在建立了数据库之后没有对数据源进行配置或者对数据源的配置工作出现错误,则在此之前所做的一切工作都是白费的。
vb连接ACCESS数据库实例vb连接ACCESS数据库实例下面给你一个用ADO的代码链接的实例:(ACCESS 2003)首先在工程中点击【工程】-【引用】,在打开的对话框选择Microsoft AxtiveX Data Objects 2.8 Library 勾选,然后定义二个对象:Dim conn As New ADODB.Connection, rs As New ADODB.Recordset其中conn是数据库链接对象,rs是数据记录集对象那么,下面就是利用SQL语句链接数据库了:conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\library\1.mdb;Jet OLEDB:Database Password="strSQL = "SELECT * FROM 数据库中的表"rs.Open strSQL, conn, 3, 3至此数据库已经链接成功,并且已经加载了记录集,下面你就可以进行数据操作了,注意,在数据库操作完成后,千万别忘记关闭记录集和数据库链接对象:rs.Closeconn.Close'首先,工具->引用->选中Microsoft ActiveX Data Objects 2.X Library'必须选中,否则下面代码不会起作用!(以下链接数据库之方式,不需要使用ADODB控件,仅需代码即可)Public Conn As New ADODB.ConnectionPublic Rs As New ADODB.RecordsetPublic Cnt As Integer '这个Cnt是用来表示数据库数据总量的,对链接过程无关'连接数据库的代码段Conn.CursorLocation = adUseClient '以Conn为链接名建立链接,这里是设置数据游标(客户端数据游标),即设定读取数据库数据之方式(一行一行地读)Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;DataSource=" & App.Path & "\test.mdb"'自己改动一下上面的路径和文件名即可,其他的代码你不理解照粘贴无妨If Rs.State <> adStateClosed Then Rs.CloseRs.Open "SELECT 铺名, 上月读数, 本月读数, 实用度数, 铺位数, 首层面积, 非经营层面积, 欠费明细, 欠费金额FROM data WHERE 首层面积is not null and 非经营层面积is not null;", Conn, adOpenKeyset, adLockPessimisticCnt = Rs.RecordCount'关闭数据库链接(一般放到子过程结束处,关闭数据库链接)Rs.CloseConn.CloseSet Rs = NothingSet Conn = Nothing'添加、修改、删除、更新数据(都以Conn.Execute后带SQL语句来实现对数据库的查询操作)'Conn.Execute "update data set 上月读数= 本月读数"’Rs.MoveNext '数据游标转到数据库下一行'实例:For i = 1 To CntDoEventsConn.Execute "insert into data (ID,铺名,上月读数,本月读数,实用度数,铺位数) values(" & Rs("ID") & ",'" & Rs("铺名") & "'," & Rs("上月读数") & "," & Rs("本月读数") & "," & Rs("实用度数") & "," & Rs("铺位数") & ")"Rs.MoveNext Next。
VB连接Access数据库的两种方法首先有一点要注意,数据库的使用与我们以往所使用的文本文件不同.例如我们使用文本文件,来记录各种有用的数据.那么大致有以下几步: 读取文件-- 格式化数据-- 关闭文件-- 使用数据如果数据量较大,需要进行筛选,且存放数据的源文件可能不定时变更,那么我们可以用一个临时文件来存放有用的数据,这样可大大提高程序的效率.要[格式化数据]时,我们首先要进行筛选,然后还得进行分类,这样文件中的字符串才能被转换成有用的信息来供程序使用.这样一来,不用说,处理速度将大大减慢,而且就算你设计的数据格式比较科学,当数据量非常大时,文件的容量也会变的让普通计算机无法承受.相对文本文件来说数据库的使用也大致分为以下几步:打开数据库-- 查找数据-- 使用数据-- 关闭数据库从中可以看出,里面少了一步格式化数据,因为数据库本身在存储数据时,它就是按照一定的格式来进行存储的.其次是,数据库与文本文件返回数据的方法不同.如果把文本文件比作一个Textbox 的话,那么数据库更像是一个ListBox.使用文本文件时我们需要从整个Textbox中取出有用的信息,并进行处理,而Listbox则可以根据需要返回特定的某一项.由于VB本身并不带有可以访问数据库的类,所以我们需要引用一个包含能访问数据库的类来使用数据库.这里我们采用ADODB,相比DAO和能访问数据库的API来说,它比DAO更灵活,更强大;而比起API,它更简单易用,更适合初学者.而Access数据库比起SQL,也相对简单了很多,且能够满足中小型应用程序的需要,所以我们在使用数据库时,选择了Access.就像使用文本文件来存储数据一样,我们需要先设计好数据结构,只不过在设计Access数据库的结构时,我们需要用到其它的程序来进行详细的规划.建议采用的程序是office中的Access或V B自带的VISDATA.当数据库设计好了以后,我们可以开始"数据库编程"了.首先,我们需要引用ADO.具体的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Da ta Object *.* Library",这里的"*.*"是指的时ADO的版本号,一般来说,应用程序或ActiveX 控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确保程序在能识别旧版本Access 的同时,也能识别较新版本的Access.然后我们需要在程序中创建一个对象.就好比我们在窗体上添加一个FileBox才能看到文件名一样,只有创建了ADO对象,我们才能够访问数据库.常用的对象有两个,Connection和Records et.创建这两个对象的具体方法是:1.在引用后,使用New关键字,如Private Conn As New ADODB.ConnectionPrivate Reco As New ADODB.Recordset2.在没引用时,用CreateObject创建对象:Dim Conn,RecoSet Conn =CreateObject("ADODB.Connection")Set Reco =CreateObject("ADODB.Recordset")创建了对象之后,下一步我们要做的就是打开数据库了.先看下面的代码,可以成功的打开数据库.Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Main.mdb"这句代码打开了D盘中的Main.mdb这个数据库.Connection.Open方法的第一个参数是连接代码,它将传递给系统的数据库引擎.前半部分"Provider=Microsoft.Jet.OLEDB.4.0",它表示了数据库的类型.不同的数据库可能会不同.后半句"Source=d:\main.mdb"它表示了数据库所在的绝对路径.打开数据库之后,还要打开表.假如数据库中有一个表,表名为"Users",字段有两个,一个为用户名,一个为密码.那么看以下代码.1.想返回"Users"中,[用户名]为"去年烟花"的[密码]Recordset.open "Select 密码From Users Where 用户名='去年烟花'",Connection,1, 1之后我们就可以把用户输入的密码进行比较,看是否允许登录.If Recordset.eof and Recordset.bof thenMsgbox "用户不存在!",16ElseIf PassWord =Recordset("密码").value thenmsgbox "登录成功!",64Elsemsgbox "密码错误!",32End IfEnd IfRecordset.Close2.假设Admin已经成功登录系统,我们想把所有的用户名和密码都显示出来Recordset.open "Select * From Users",Connection,1,1这时,表已经被打开,我们就用以下代码把它显示出来.Do whlie Not Recordset.eofPrint "用户名: " & Recordset("用户名").value & "密码: " & Recordset("密码").valueRecordset.MoveNextLoopRecordset.Close由以上代码示例可以看出,打开表时,可以只打开其中的一个字段,也可以打开所有.第一个参数是SQL语句.Select [字段名] From表名[Where 条件]这里的条件可以省略.且字段名也可以用"*"来代替所有字段.需要注意的是,如果你用(1)中的方法打开,那么(2)后面显示的代码就不能再用在(1)中.因为(1)里并没有打开[用户名]字段,所以这一句Recordset("密码")就没有值存在,还有可能出错.后面的条件,可以用"="、">"、"<"等运算符.比如"Where ID >32".(这里假设[ID]为数字型.)这是打开的部分.第二个很重要的部分就是查询记录.数据库它并不是把所有记录全部放到一个变量中备用的.而是以"当前记录"的形式来返回一个值.所以我们想从中找到有用的信息,就必须要对信息进行定位/筛选.定位:移动到下一条Recordset.MoveNext移动到上一条Recordset.MovePrevious移动到最后一条Recordset.MoveLast移动到第一条Recordset.MoveFrist移动到某一条Recordset.Move Number筛选:Recordset.Find "条件"如:[用方法(2)打开表之后]Private Sub Command1_Click()Recordset.Find "用户名=" & "text1.text"If Recordset.Eof <> True ThenMsgbox "该用户的密码是:" & Recordset("密码").value,64ElseMsgbox "未找到该用户的资料!",16End IfEnd SubMoveNext 只有当Eof不为True时,才可用,否则发生错误.而MovePrevious刚是Bof不为T rue时....而只要Eof 和Bof中有一个不为真时,也就是说只要有一条记录时,它就可以使用.Find 方法中的条件和Open时的第一个参数中的条件表述方法是完全一致的.当在已打开的记录集中,找不到该记录时,Eof为True.找到则当前的值就是符合条件的记录.第三个部分就是添加/修改记录.修改记录很简单,先按以上的方法找到相关记录之后,给记录赋值就可以了.比如:[(修改密码)按方法(1)打开表之后]Recordset("密码").value = "123456"Recordset.Updata需要注意的就是,在修改完成后,要调用Updata方法,这样修改才能生效.而添加记录则可以用以下代码来实现:Recordset.addnewRecordset("用户名").value ="Admin"Recordset("密码").value = "Admin"Recordset.Updata这里,先要调用Addnew方法,增加一条新记录,然后对这个新记录中的各字段赋值,最后再调用Updata方法.到这里就差不多了,最后说一下上面提到的几个方法.Recordset.Open SQL语句,数据源,游标类型,打开方法SQL语句不用说了,就是Select那啥的,目的就是按要求从表中返回数据数据源就是一个打开之后的Connection对象.去他妈的游标类型,填1就可以了[偷笑ing]打开方法对应了几个常数,具体哪几个可以从对象浏览器里看.对应数值的意义:1 只读2 独占3 可写4 自已可写,别人可读Connection.open 连接代码,服务器用户名,密码这里的连接代码就不在多说了,服务器用户名,密码只有在连接远程数据库时才用到.VB如何连接access数据库2009年07月25日星期六下午 07:07VB如何连接access数据库?最近在学习VB,正在研究当中!今天告诉大家VB连接数据库的方法,我知道的有两种:一种是在adodc1的属性里设置数据库文件的路径,这种方法的优点是简单易操作,缺点是,当源文件换了地方后,要重新设置数据库的路径,否则连接不上数据库了。
你一个示例,这个是用户登录系统'准备工作:数据库D:\Mydb.mdb数据库中,建数据表:UserInfo,数据表中,建字段:User,Password,并添加一条记录'点工程->引用选中Microsoft Activex Data Objects2.1Library'控件:添加一个文本框,一个命令按钮Private Sub Command1_Click()Dim s As StringDim Conn As New ADODB.ConnectionDim Rs As New ADODB.RecordsetConn.Open"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\mydb.mdb" '请将数据库名及路径换成你的实际数据库名及路径Dim UserName As StringDim Password As Strings=Text1.TextIf s="1"Or s="2"ThenUserName=InputBox("请输入用户名")Password=InputBox("请输入用户密码")sql="Select*From[UserInfo]where User='"&UserName&"'"'UserInfo请换成你的实际数据表名Rs.Open sql,Conn,1,3If Rs.EOF ThenMsgBox"没有找到此用户"ElseIf Rs("Password")=Password ThenIf s="1"ThenMsgBox"123"ElseIf s="2"ThenMsgBox"456"End IfElseMsgBox"密码错误"End IfEnd IfEnd IfEnd Sub上面的例子实现了查询如果是要添加,删除,更新等操作,只要编写相应的SQL语句,再用Conn.Execute SQL就可以了,如:添加的:SQL="Insert Into[UserInfo](User,Password)Values('aaaa','1234')"Conn.Execute SQL'执行后,就添加了一条记录删除:SQL="Delete From[UserInfo]Where User='aaaa'"Conn.Execute SQL'删除用户名为aaaa的用户记录更新:SQL="Update[UserInfo]Set Password='abcdefg'Where User='aaaa'" Conn.Execute SQL'执行后,修改用户aaaa的密码为abcdefg以上只是示例,在实际使用过程中,可以将一些内容用控件输入等方式进行,这样就有很大的灵活性了动态创建数据库引用microsoft DAP3.6Object LibraryDim myDB As DAO.DatabaseSet myDB=CreateDatabase(App.Path+"\111.mdb",dbLangGeneral)'如果不存在数据库Set myDB=OpenDatabase(App.Path+"\111.mdb")'如果存在数据库Dim str_SQL As Stringstr_SQL="Create Table NewTable1(Field1Text(10),Field2Short)"myDB.Execute str_SQLstr_SQL="Create Table NewTable2(Field1Text(10),Field2Short)"myDB.Execute str_SQLmyDB.Close向已经建好的数据库中添加记录建立数据库a,表名字b,字段c,文本格式,在窗体上画一command,画一个文本框,这个代码就是将文本内容写入数据库要先引用microsoft activeX data object2.5library代码如下:Private Sub Command1_Click()Dim cnDk As New ADODB.ConnectionDim strDk As StringDim rDk As New ADODB.RecordsetDim sql As StringstrDk="DBQ="&App.Path&"\a.mdb;Driver=;"cnDk.Open strDksql="insert into b(c)values('"&text1.text&"')"cnDk.Execute sqlcnDk.CloseSet cnDk=NothingEnd Sub在数据库中添加多条记录只要可以进行输入文本的都可以改一下这些吧,你单击一次就提示输入一次,输完了自动保存改后Data1.Recordset.AddNewData1.Recordset.Fields("username")=trim(inputbox("请输入名字"))Data1.Recordset("password")=val(trim(inputbox("请输入电话")))Data1.UpdateRecord ——————————————————————————————Data1.Recordset.AddNewData1.Recordset.Fields("username")="张三|"Data1.Recordset("password")="fsdfsd"Data1.UpdateRecordData1.Recordset.AddNewData1.Recordset.Fields("username")="李四|"Data1.Recordset("password")="fsdf432d"Data1.UpdateRecordData1.Recordset.AddNewData1.Recordset.Fields("username")="王五|"Data1.Recordset("password")="f42342d"Data1.UpdateRecordMsgBox"adad"=========================================================== =============================vb+access数据库的记录的添加与删除Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetPrivate Sub Command2_Click()Set rs=cn.Execute("select*from wenzhang where内容='"&Text1.Text&"'") If Text1.Text=""ThenMsgBox("文章不能为空!")ElseIf rs.EOF=False ThenMsgBox("文章不能重复!")Elsecn.Execute("insert into wenzhang values('"&Combo1.Text&"','"&Text3.Text&"','"&Text4.Text&"','"&Text1.Text&"')")MsgBox("ok")End IfEnd Sub'添加按钮Private Sub Command3_Click()Dim myval As StringSet rs=cn.Execute("select*from wenzhang where内容='"&Text1.Text&"'") If rs.EOF Thenmyval=MsgBox("是否保存文章?",vbInformation+vbYesNoCancel,"提示") If myval=vbYes Thencn.Execute("insert into wenzhang values('"&Combo1.Text&"','"&Text3.Text&"','"&Text4.Text&"','"&Text1.Text&"')")MsgBox("保存成功")ElseCombo1.Text=""End IfElseText1.Text=""Combo1.Text=""End IfEnd Sub'删除按钮Private Sub Command4_Click()If Text1.Text=""ThenMsgBox("不能删除空记录!")ElseDim myval As Stringmyval=MsgBox("是否删除文章?",vbInformation+vbYesNo,"提示")If myval=vbYes ThenSet rs=cn.Execute("delete from wenzhang where内容='"&Text1.Text&"'") MsgBox("删除成功!")End IfEnd IfEnd Sub'连接数据库Private Sub Form_Load()cn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\temp.mdb;Persist Security Info=False"cn.CursorLocation=adUseClientcn.OpenEnd Sub//**************另外一种读取access的方法Dim cn As New ADODB.ConnectionDim rs As New ADODB.Recordsetcn.Provider="microsoft.jet.oledb.4.0"cn.ConnectionString=App.Path+"\#db.mdb"cn.OpenSet rs=cn.Execute("select*from[user]")If rs.EOF ThenMsgBox"您输入的信息有误!"ElseMsgBox"恭喜你!"End IfText2.Text=rs("user_name")cn.Close。
VB中怎么载如或显示Access数据库中的报表'首先在“工程/引用”菜单下引用Microsoft Access 9.0 Object LibraryOption ExplicitDim MSAccess As Access.ApplicationPrivate Sub Command1_Click()Set MSAccess = New Access.ApplicationMSAccess.OpenCurrentDatabase (App.Path & "\db1.mdb")MSAccess.DoCmd.OpenReport "rptTB", acViewNormalMSAccess.CloseCurrentDatabaseSet MSAccess = NothingEnd SubrptTB是access中的一个报表名称要引用Microsoft Access 9.0 Object Librarydim objAccess As Access.ApplicationSet objAccess = CreateObject("Access.Application")objAccess.OpenCurrentDatabase ("c:\1.mdb")objAccess.DoCmd.OpenReport "ReportName", acViewPreviewobjAccess.Visible = True这个要引用Microsoft Access 9.0 Object Library(Office 2000)我没试过Office97会怎么样。
∙VB中打印ACCESS报表∙作者:aspxer 来源:internet 日期:2007-5-20 13:56:44 关键字:∙VB中打印ACCESS报表acc As ObjectSet acc = CreateObject("Access.Application")If Right$(Trim$(App.Path), 1) = "\" Thenacc.OpenCurrentDatabase App.Path & "data.mdb"@#打开数据库Elseacc.OpenCurrentDatabase App.Path & "\data.mdb"End Ifacc.docmd.OpenReport "打印准考证" @#, acPreview打印报表“打印准考证”acc.QuitSet acc = Nothing使用ACCESS报表主要缺点就是不能预览Dim acc As ObjectSet acc = CreateObject("Access.Application")If Right$(Trim$(App.Path), 1) = "\" Thenacc.OpenCurrentDatabase App.Path & "data.mdb"'打开数据库Elseacc.OpenCurrentDatabase App.Path & "\data.mdb"End Ifacc.docmd.OpenReport "打印准考证" ', acPreview打印报表“打印准考证”acc.QuitSet acc = Nothing使用ACCESS报表主要缺点就是不能预览怪问题:在Access 里新建了报表后,VB/VC 可不可以直接调用并打印?'先引用access objOption ExplicitPrivate Sub Form_Load()Call PrintReport(App.Path & "\test.mdb", "test")End SubPrivate Function PrintReport(ByVal MdbFileName As String, ByVal ReportName As Stri ng) As BooleanOn Error GoTo ErrTrapDim localReport As New Access.ApplicationCall localReport.OpenCurrentDatabase(MdbFileName)Call localReport.DoCmd.OpenReport(ReportName, acViewDesign)Call localReport.DoCmd.CloseCall localReport.DoCmd.MaximizelocalReport.Visible = TrueCall localReport.DoCmd.OpenReport(ReportName, acViewNormal)Call localReport.QuitSet localReport = NothingPrintReport = TrueGoTo Fun_exitErrTrap:PrintReport = FalseCall localReport.QuitSet localReport = NothingFun_exit:End Function可不可以在VB里调用ACCESS表象调用EXCEL一样容易Dim conn As New ADODB.ConnectionDim cona As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim ra As New ADODB.Recordset'连接accessconn.ConnectionString = "driver={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & "\xxx.mdb;password=xxx"conn.Open'连接excelcona.ConnectionString = "driver={Microsoft Access Driver (*.xls)};DBQ=" & App.Path & "\xxx.xls;password=xxx"cona.Open'打开并查询access表rs.cursorlocation=3rs.Open "select * from xxx where ....", conn'打开excel表ra.cursorlocation=3ra.Open "select * from [xxx]", cona'新增到Excelra.addnewra("xx")=rs("xxx")....ra.updaters.closera.closeset conn=nothingset cona=nothing能在VB中调用ACCESS中的窗体吗?OpenCurrentDatabase 方法示例以下示例通过“自动化”(Automation) 从其他应用程序中打开一个Microsoft Access 数据库,然后打开一个数据库中的窗体。
可以在任何一个能作为COM 组件的应用程序的Visual Basic 模块中键入这段代码。
例如,可以从Microsoft Excel、Microsoft Visual 或Microsoft Access 中运行下列代码。
当指向Application 对象的变量超出范围时,它所表示的Microsoft Access 实例也将关闭。
所以,必须在模块级说明这个变量。
' 在模块的声明节中包含以下语句。
Dim appAccess As Access.ApplicationSub DisplayForm()' 将字符串初始化为数据库的路径。
Const strConPathToSamples = "C:\Program " _& "Files\Microsoft Office\Office\Samples\Northwind.mdb"strDB = strConPathToSamples & "Northwind.mdb"' 创建Microsoft Access 的实例。
Set appAccess = _CreateObject("Access.Application")' 在Microsoft Access 窗口中打开数据库。
appAccess.OpenCurrentDatabase strConPathToSamples' 打开“Orders”窗体。
appAccess.DoCmd.OpenForm "Orders"End Sub请教各位,如何在vb的窗体中,调用或显示access中做的报表。
Dim objAccess As Access.ApplicationSet objAccess = CreateObject("Access.Application")objAccess.OpenCurrentDatabase ("c:\1.mdb")objAccess.DoCmd.OpenReport "report1", acViewPreviewobjAccess.Visible = True。