access数据库vba开发实例,access vba代码大全

http://www.itjxue.com  2023-01-15 16:56  来源:未知  点击次数: 

Access VBA 创建新MDB数据库

'下列ACCESS窗体按钮单击事件过程(VBA代码)实现在当前目录下创建一个新MDB数据库,

'并在该数据库内新建一张学生表同时插入一条学生信息。

'有关代码需要引用ADO数据访问对象及其扩展ADOX类库

'引用方法:

'打开VBE窗口

'引用ADO—— 菜单"工具"- "引用 "--勾选 Microsoft ActiveX Data Objects 2.1 Library 或更高版本,点击确定按钮

'引用ADOX—— 菜单"工具"- "引用 "-- 勾选 Microsoft ADO Ext.2.7 for DDL ado Security 或更高版本,点击确定按钮

Private Sub Command0_Click()

Dim MyMDB As New ADOX.Catalog '声明并示例化一个ADOX.Catalog对象

Dim cn As New ADODB.Connection '声明并示例化一个ADO连接对象

Dim cnStr As String '声明一个连接字符串变量

'在当前目录下创建一个名为“NewAccessDB”的ACCESS数据库

MyMDB.Create ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" CurrentProject.Path "\NewAccessDB.mdb" ";")

'设置连接上述代码新创建的数据库之连接字符串

cnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" CurrentProject.Path "\NewAccessDB.mdb" ";"

'打开与该数据库的连接

cn.Open cnStr

'新建一张学生表

cn.Execute "create table students(sname text(30),sex text(1),birth date)"

'向学生表插入一条数据

cn.Execute "insert into students values('张三','男',#1998-02-03#)"

'关闭连接

cn.Close

'提示操作成功

MsgBox "新数据库已成功创建,并在其中建立了一张学生表同时并插入一条学生信息"

End Sub

ACCESS里打开某数据库后如何用VBA引用表、记录及字段值

Access

2003

中,您可以使用

Visual

Basic

编辑器查看当前选择的

VBA

引用。为此,请按照下列步骤操作:

启动

Access

2003。

打开一个

Access

数据库。

ALT+F11

打开

Visual

Basic

编辑器。

Visual

Basic

编辑器窗口中,单击“工具”菜单上的“引用”。在“引用”对话框中,您可以看到所选的引用。注意

当选择了一个引用后,您还可以查看有关使用该引用必须加载的文件的信息。相关文件可能是类型库、对象库或控件库。每个引用的相关文件会根据“引用”对话框中显示的信息进行加载。但是,如果找不到相应的文件,Access

2003

将在计算机上的其他位置搜索它。对于所选的每个

VBA

引用,Access

2003

都会执行以下任务:

Access

验证是否已加载了引用的文件。

如果当前未加载引用的文件,Access

将验证

RefLibPaths

注册表项是否存在。

如果

RefLibPaths

注册表项存在,Access

将搜索与引用具有相同名称的命名值。如果有匹配的命名值,则

Access

将从命名值中提及的路径加载引用。注意

您可以将

RefLibPaths

注册表项手动添加到注册表中,然后可以添加

RefLibPaths

注册表项下任何外接程序或任何库的名称和位置。为此,请按照下列步骤操作。

单击“开始”,然后单击“运行”。

在“打开”框中,键入

regedit,然后单击“确定”。

在“注册表编辑器”窗口中,找到以下注册表项:HKEY_LOCAL_MACHINE\Software\Microsoft\Office\11.0\Access

右键单击“Access”注册表项,指向“新建”,然后单击“项”。

将新创建的项命名为

RefLibPaths。

单击“RefLibPaths”。

右键单击右窗格中的任意位置,然后单击“字串值”。

使用与

VBA

引用相同的名称命名新创建的字符串值。

右键单击您在第

8

步中创建的字符串值,然后单击“修改”。

在“编辑字符串”对话框中,键入必须加载的文件的位置以与

VBA

中的引用对应。注册表值名称必须是文件名加扩展名。位置(数值数据)必须是路径加文件名。例如,如果设置对

Northwind

示例数据库的引用,则可以添加以下值:

数值名称:Northwind.mdb

数值数据:C:\Program

Files\Microsoft

Office\Office11\Samples\Northwind.mdb

重复第

7

步到第

10

步,将适当的外接程序或库的名称和位置作为字符串值添加。

在“文件”菜单上,单击“退出”。如果

RefLibPaths

注册表项不存在或未包含正确的引用,则

Access

使用“SearchPath”API

搜索引用的文件。将执行以下搜索:

搜索范围说明

应用程序目录

Msaccess.exe

的位置。

当前目录在“文件”菜单上单击“打开”时所看到的目录。

系统目录

Windows

文件夹或

WINNT

文件夹中的

System

文件夹和

System32

文件夹。

WinDir

操作系统文件在其中运行的文件夹。这通常是

Windows

文件夹或

WINNT

文件夹。

PATH

环境变量此系统变量包含系统可直接访问的一组文件夹。Microsoft

Windows

NT

4.0:在控制面板中,双击“系统”,然后单击“环境”选项卡。PATH

变量显示在“系统变量”列表中。Microsoft

Windows

2000

Microsoft

Windows

Server

2003:在控制面板中,双击“系统”,单击“高级”选项卡,然后单击“环境变量”。PATH

显示在“系统变量”列表中。

文件目录包含

.mdb

文件、.mde

文件、.adp

文件或

.ade

文件的文件夹和任何子文件夹。注意

如果您要引用的文件位于上表中提到的任何目录中,则

Access

不需要

RefLibPaths

注册表项。如果

Access

2003

无法找到相关引用,当您编译项目或尝试运行某个过程时,将收到以下错误信息:

Your

Microsoft

Office

Access

database

or

project

contains

a

missing

or

broken

reference

to

the

file

file

name.*

To

ensure

that

your

database

or

project

works

properly,

you

must

fix

this

reference.

注意

在数据库已打开的情况下,对于每个无法找到的引用,您都会收到一次前面提及的错误信息。例如,如果您打开了

MyDatabase.mdb

并且

MyDatabase.mdb

丢失了对

Microsoft

Calendar

控件和

Microsoft

DAO

库的引用,则您会收到两条错误信息,丢失的每个引用对应一条错误信息。如果您未修复这些引用,那么当您关闭数据库然后再重新打开时,您将再次收到这些错误信息。如果您修复了这些引用并保存了数据库,则下次打开该数据库时就不会收到这些错误信息了。BrokenReference

属性Access

Application

对象具有一个

BrokenReference

属性,该属性可以告诉您是否有任何引用出现了错误。若要检查

BrokenReference

属性,请按照下列步骤操作:

启动

Access

2003。

打开一个

Access

数据库。

ALT+F11

打开

Visual

Basic

编辑器。

CTRL+G

组合键打开“立即”窗口。

在“立即”窗口中,键入以下命令,然后按

Enter

键:?Application.BrokenReference请注意,如果存在丢失的引用,Application

对象的

BrokenReference

属性将返回“True”。否则,BrokenReference

属性将返回“False”。

如何用vba代码将access数据库连接求代码

下面这段程序是连接数据库,并将excel表格内容写入数据库。代码如下:

Sub FYMXDL()

Dim XQID As Integer

Dim JZID As Integer

Dim FYID As Integer

Dim FBXZ As String '分包性质

Dim DW As String

Dim SARR(1 To 31) As Double

Dim rst As New ADODB.Recordset

mYpath = ThisWorkbook.Path "\jzfydata.accdb"

Set cONn = CreateObject("ADODB.Connection")

cONn.ConnectionString = "Provider=Microsoft.Ace.OleDB.12.0;Data Source=" mYpath

cONn.ConnectionString = cONn.ConnectionString ";Jet OLEDB:Database "

cONn.Open

XQID = Cells(3, 2).Value

JZID = Cells(3, 5).Value

'清空改小区-建筑的费用明细

Sql = "delete from fymxb where 小区ID=" XQID " AND 建筑ID = " JZID

cONn.Execute Sql

Const kshh = 7

hh = kshh

Do While Cells(hh, 3).Value 0

FYID = Cells(hh, 3).Value

FBXZ = Cells(hh, 11).Text

For i = 1 To 31

SARR(i) = Round(Cells(hh, 13 + i - 1).Value, 2)

Next i

Sql = "INSERT INTO fymxb(小区ID,建筑ID,费用ID,分包性质,工作量,单价合计_中标,人工费_中标, 主材费_中标, 辅材费_中标, 机械费_中标, 管理费_中标, 利润_中标,规费_中标,税金_中标,合价_中标,单价合计_标准成本,人工费_标准成本,主材费_标准成本,辅材费_标准成本,机械费_标准成本,管理费_标准成本,利润_标准成本,规费_标准成本,税金_标准成本,合价_标准成本,单价合计_实际成本,人工费_实际成本,主材费_实际成本,辅材费_实际成本,机械费_实际成本,管理费_实际成本,利润_实际成本,规费_实际成本,税金_实际成本,合价_实际成本) VALUES (" XQID ", " JZID ", " FYID ", '" FBXZ "'"

For i = 1 To 31

Sql = Sql "," SARR(i)

Next i

Sql = Sql " )"

cONn.Execute Sql

hh = hh + 1

Loop

End Sub

如何用vba代码将access数据库连接求代码?

Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。用vba代码将access数据库连接求代码,代码如下:

Sub FYMXDL()

Dim XQID As Integer

Dim JZID As Integer

Dim FYID As Integer

Dim FBXZ As String '分包性质

Dim DW As String

Dim SARR(1 To 31) As Double

Dim rst As New ADODB.Recordset

mYpath = ThisWorkbook.Path "\jzfydata.accdb"

Set cONn = CreateObject("ADODB.Connection")

cONn.ConnectionString = "Provider=Microsoft.Ace.OleDB.12.0;Data Source=" mYpath

cONn.ConnectionString = cONn.ConnectionString ";Jet OLEDB:Database "

cONn.Open

XQID = Cells(3, 2).Value

JZID = Cells(3, 5).Value

'清空改小区-建筑的费用明细

Sql = "delete ?from fymxb where 小区ID=" XQID " AND 建筑ID = " JZID

cONn.Execute Sql

Const kshh = 7

hh = kshh

Do While Cells(hh, 3).Value 0

FYID = Cells(hh, 3).Value

FBXZ = Cells(hh, 11).Text

For i = 1 To 31

SARR(i) = Round(Cells(hh, 13 + i - 1).Value, 2)

Next i

Sql = Sql "," SARR(i)

Next i

Sql = Sql " )"

cONn.Execute Sql

hh = hh + 1

Loop

End Sub

(责任编辑:IT教学网)

更多

推荐导航代码文章