EXCELvba写入ACCESS数据库表

EXCELvba写入ACCESS数据库表,第1张

第一步:连接数据库,下面是参考代码

Set conn = CreateObject("ADODBConnection")

connConnectionString = "Provider=MicrosoftAceOleDB120;Data Source=" & mypath

connConnectionString = connConnectionString & ";Jet OLEDB:Database Password=1"

connOpen

第二步:插入数据,参考代码如下:

Sql = "insert into skmxb (内部管理号,收款日期,金额"

Sql = Sql & ") values ('" & nbglH & "', #" & Format(myD, "yyyy/mm/dd") & "#,"

Sql = Sql & jE

Sql = Sql & ")"

connExecute Sql

我也在找方法想要解决这个问题。

目前我将链接字符串中的链接属性Mode改成了Mode=Read; 这样Access数据库可以正常打开(非独占)。但还是无法断开链接,不知道怎么解决。

另外,我复制初始access为access2,先将其拆分,再将基础表链接到初始access,然后Excel关联的是access2。这样的话,Exc表中刷新数据后,access2没有断开,但是初始access却断开了。由此变相实现初始access断开。

在access数据库中,有数据宏的几个事件。其中,使用更改前的事件,可以在判断即将发生的更改合法的前提下,将你需要的记录更新次数的字段加1。这种方法的好处是,不论数据是使用什么方式更新(宏、VBA、窗口),都能记录下这次更改。下面以access2010说明。

方法步骤:

1 在数据表的视图下打开一个表,并设置好记录更新次数的字段,类型为长整型。点击顶部菜单——前期事件的更改前按钮。

2 在打开的数据宏编辑页面,写下如图代码:

3 宏代码写好后,注意保存,关闭。之后,你可以在数据表视图下,手动更改数据试试,每一次更改,“更新次数”都将自动加1,从而实现了更新次数的记录。

注意:这里省略了一些更改前的合法性判断检查,这些判断通常就是写在数据宏的更改前事件里面。当然,你也可以写在VBA代码中,以决定是否进行该次更改。只要决定更改了,就可以在更改前事件的末尾加上记录更新次数的这行代码。

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 ADODBRecordset

mYpath = ThisWorkbookPath & "\jzfydataaccdb"

Set cONn = CreateObject("ADODBConnection")

cONnConnectionString = "Provider=MicrosoftAceOleDB120;Data Source=" & mYpath

cONnConnectionString = cONnConnectionString & ";Jet OLEDB:Database "

cONnOpen

XQID = Cells(3, 2)Value

JZID = Cells(3, 5)Value

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

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

cONnExecute 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 & " )"

cONnExecute Sql

hh = hh + 1

Loop

End Sub

以上就是关于EXCELvba写入ACCESS数据库表全部的内容,包括:EXCELvba写入ACCESS数据库表、Excel VBA 用数据连接功能链接接access,刷新后access被占用,不能编辑、access用宏更新记录更新次数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9268406.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存