VB关于ACCESS的程序代码

VB关于ACCESS的程序代码,第1张

在VB菜单→过程→引用→对象库 "Microsoft ActiveX Data Objects 25 Library"

'定义

Private Sub Command1_Click()

Const connStr = "Provider=MicrosoftJetOLEDB40;Data Source="

dim conn As New ADODBConnection

dim Rs As New ADODBRecordset

dim sql As string

connOpen connStr & "我的数据库路径及文件mdb"

sql = "SELECT FROM 你的表单名称"

RsOpen sql, conn, adOpenKeyset, adLockPessimistic

If Not RsState = adStateOpen Then '确定数据库能顺利打开后,才省略这个判断

MsgBox "数据库没有开启。检查数据库的链接是哪儿出问题!"

exit sub

End If

‘数据库能开启才会继续往下一行运行

RsMoveLast: RsMoveFirst

‘这一行只是检查Rs是不是正常运行,整体代码完成后可以移除

MsgBox "记录集总共笔数:" & RsRecordCount

‘ 数据库确定能正常开启了,想继续 *** 作新增、更新、删除都行

'开始新增一笔数据

'RsAddNew

'赋值代码

'赋值代码

‘RsUpdate

'RsRefresh

End Sub

存取对象变量库结构作为一个功能较完备的Windows软件开发平台,Visual Basic专业版提供了对数据库应用的强大支持。尤其提供了使用数据控件和绑定控制项,使用数据库存取对象变量(Data Access Object Variable),直接调用ODBC 20 API接口函数等三种访问数据库的方法。对其标准内置的Ms Access数据库,它可以提供不弱于专业数据库软件的支持,可以进行完整的数据库维护、 *** 作及其事务处理。在VB中,将非Access数据库称为外来数据库。对于FoxPro、dBASE、Paradox等外来数据库。虽然借助VB的Data Manager 能够对这些数据库进行NEW、OPEN、DESIGN、DELETE等 *** 作,但在应用程序的运行状态中并不能从底层真正实现这些功能。本文从使用数据库存取对象变量的方法出发,实现了非Access格式数据库(以FoxPro数据库为例)的建新库、拷贝数据库结构、动态调入等 *** 作,阐述了从编程技巧上弥补VB对这些外来数据库支持不足的可行性 。

一、VB数据库的体系结构具体的VB的数据库结构。

VB数据库的核心结构是所谓的MicroSoft JET数据库引擎,JET引擎的作用就像是一块"面板",在其上可以插入多种ISAM(Indexed Sequential Access Method,即索引顺序存取方 法) 数据驱动程序。JET引擎为Access格式数据库提供了直接的内部(build-in)支持,这就是VB对Access数据库具有丰富支持的真正原因。

VB专业版中提供了FoxPro、dBASE(或 Xbase)、Paradox、Btrieve等数据库的ISAM驱动程序,这就使得VB能支持这些数据库格 式。另外,其他的许多兼容ISAM的驱动程序也可以通过从厂商的售后服务得到。因而从理论上说,VB能支持所有兼容ISAM的数据库格式(前提是只需获得这些数据库的ISAM驱动接口程序)。

由上可见,Ms JET引擎实质上提供了:一个符合ANSI标准的语法分析器;为查询结果集的使用而提供的内存管理功能;同所支持的数据库的外部接口;为应用代码提供的内部接口。实际上,在VB中从一种数据库类型转化为另一种数据库类型几乎不需要或只需要很少的代码修改。而且,尽管dBASE、Paradox本身的DDL (Data Definition Language,即数据定义语言)和DML(Data Manipulation Language,即数据 *** 纵语言)是非结构化查询的,但它们仍然可以使用VB的SQL语句和JET引擎来 *** 纵。

从VB的程序代码的角度来看,ODBC,ISAM驱动程序以及Ms Access数据库的整个外部结构够可以统一为一个一致的编程接口。也即是说,提供给VB应用程序员的记录集对象视图同所使用的数据库格式及类型是相互独立的。即对FoxPro等数据库仍然可以使用众多的数据库存取对象变量,这就为非Access数据库的访问提供了最重要的方法。

二 、使用非Access数据库时的参数设置及配置文件的参数读取如果在VB的程序中使用了数据库的 *** 作,将应用程序生成EXE文件或打包生成安装程序后,则必须提供一个配置 (INI)文件,在INI文件中可以对不同类型的数据库进行设置。如果找不到这个INI文件, 将会导致不能访问数据库。通常情况下,INI文件的文件名和应用程序的名称相同,所以如果没有指明,VB的程序会在Windows子目录中去找和应用程序同名的INI文件。可以使用VB中的SetDataAccessOptions语句来设置INI文件。

SetDataAccessOptions语句的用法如下:SetDataAccessOptions 1 ,IniFileName其中IniFileName参数指明的是INI文件的带路径的文件名。值得注意的是,当应用程序找不到这个INI文件时,或在调用 OpenDataBase函数时对其Connect参数值没有设定为VB规定的标准值,如对FoxPro 25格式设定为了" FoxPro;"(应为" FoxPro 25; "),或者没有安装相应的ISAM驱动程序,则此时VB会显示一条错误信息" Not Found Installable ISAM "。通常,INI文件在应用程序分发出去以前已经生成,或者在安装时动态生成,也可以在应用程序中自己生成。 通常这种 INI文件中有" [Options]"、"[ISAM]"、" [Installed ISAMs]"、"[FoxPro ISAM]"、"[dBASE ISAM] " 、" [Paradox ISAM] "等设置段,对于一个完整的应用程序则还应有一个属于应用 程序自己的设置段如" [MyDB]”。可在其中设置DataType、Server、DataBase、 OpenOnStartup、DisplaySQL、QueryTimeOut等较为重要的数据库参数,并以此限定应用程序一般的运行环境。 Windows API接口函数在Kernelexe动态链接库中提供了一个OSWritePrivateProfileString函数,此函数能按Windows下配置文件(INI)的书写格式写入信息。

在通常情况下,应用程序还需要在运行时读取配置文件内相关项的参数。比如PageTimeOut(页加锁超时时限)、MaxBufferSize(缓冲区大小)、LockRetry(加锁失败时重试次数)等参数,通过对这些参数的读取对应用程序运行环境的设定、潜在错误的捕获等均会有很大的改善。

三 、数据存取对象变量对外来数据库编程的方法及其实例在VB专业版数据库编程的三种方法中,第二种-使用数据库存取对象变量(DAO)的方法最具有功能强大、灵活的特点。 它能够在程序中存取ODBC 20的管理函数;可以控制多种记录集类型:Dynaset,Snapshot 及Table记录集合对象;可以存储过程和查询动作;可以存取数据库集合对象,例如 TableDefs,Fields,Indexes及QueryDefs;具有真正的事物处理能力。因而,这种方法对数据库处理的大多数情况都非常适用。

由于VB中的记录集对象与所使用的数据库格式及类型是相互独立的,所以在非Access数据库中也可以使用数据库存取对象变量的方法。因而 对FoxPro等外来数据库而言,使用数据库存取对象变量的方法同样也是一种最佳的选择。 有一点需要注意的是,VB的标准版中仅能使用数据控件(Data Control)对数据库中的记录进行访问,主要的数据库存取对象中也仅有Database、Dynaset对象可通过数据控件的属 性提供,其它的重要对象如TableDef、Field、Index、QueryDef、Snapshot、Table等均不能在VB的标准版中生成,所以使用数据存取对象变量的方法只能用VB 30以上的专业版。

访问数据库,然后将数据一条条的读书来再写入excel, 使用vb进行 *** 作excel很简单,可以仿造下office本身提供的录制宏(vba)的代码改写成vb代码,具体请搜索下office automation相关技术。我只是引个头 你慢慢搜答案吧 good luck!

office automation 去msdnmicrosoftcom上搜下excel 很多 呵呵 ,慢慢看

ADO GetRows 方法

将 Recordset 对象的多个记录检索到数组中。

语法

array = recordsetGetRows( Rows, Start, Fields )

返回 Variant,其值为二维数组。

参数

Rows 可选。GetRowsOptionEnum 值,指示要检索的记录数。默认值为 adGetRowsRest。

Start 可选。String 值或 Variant,计算 GetRows *** 作开始处的记录的书签。还可以使用 BookmarkEnum 值。

Fields 可选。Variant,表示单个字段名或序号位置,或者字段名数组或序号位置编号。ADO 仅返回这些字段中的数据。

说明

使用 GetRows 方法将 Recordset 中的记录复制到二维数组中。第一个下标标识字段,第二个下标标识记录编号。当 GetRows 方法返回数据时,array 变量将自动调整到正确大小。

如果未指定 Rows 参数的值,GetRows 方法将自动检索 Recordset 对象中的所有记录。如果请求的记录多于可用的记录,GetRows 仅返回可用的记录数目。

如果 Recordset 对象支持书签,可以通过在 Start 参数中传递该记录的 Bookmark 属性的值来指定 GetRows 方法从哪一个记录开始检索数据。

如果要限制 GetRows 调用返回的字段,可以在 Fields 参数中传递单个字段名/编号,或者字段名/编号的数组。

在调用 GetRows 后,下一个未读取的记录成为当前记录。如果没有其他记录,EOF 属性将被设置为 True。

以上就是关于VB关于ACCESS的程序代码全部的内容,包括:VB关于ACCESS的程序代码、怎么使用VB读取ACCESS数据库并显示、access转excel,VB或者C++都可以等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10135214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存