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

如何用vba代码将access数据库连接求代码?,第1张

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.0Data 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

设窗体上text1为输入文本框, text2为结果文本框,, cmd1为计算按钮, cmd2为清空按钮,则

private sub cmd2_click()

text1.value=""'清空

text2.value=""

text1.setfocus'设焦点,留光标

end sub

private sub cmd1_click()

dim I as integer, N as integer, R as integer

N = text1.value

for I = 1 to N

R =R+((I mod 2)*2-1)*I'I除2的余数为0或1,将其×2后为0或2,-1后为-1或1

next

text2.value = R

end sub

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”。


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

原文地址: http://outofmemory.cn/sjk/9390725.html

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

发表评论

登录后才能评论

评论列表(0条)

保存