excel - 使用VBA从excel表覆盖访问数据库
问题描述
我已经在这个网站上搜索了我的问题,但找不到解决方案。我是 excel VBA 的初学者,在使用 excel-VBA 使用 excel 电子表格中的新数据更新 access 数据库中的旧数据时需要一些帮助。
从互联网我创建了以下步骤。
第 1 步:上传初始数据(我有一个可用于此步骤的 VBA 宏):
上传excel表格:
第 2 步:从访问 excel 下载数据(我为此步骤使用了 VBA 宏)
从访问下载:
第 3 步:现在,我想用 excel 表中的修改数据覆盖整个访问表。我无法找到此步骤的宏。
从 excel 覆盖以访问:
请帮助我完成此步骤的 VBA 程序或任何网站链接。
我无法在此处附加 Excel 表。
解决方案
终于从其他来源找到宏,为任何其他初学者分享代码
Sub Modify()
Dim dbs As ADODB.Connection
Dim rset1 As ADODB.Recordset
Dim sql As String
Dim ws As Worksheet
Dim lr As Long
Dim FName As String
Dim i As Long, j As Integer
FName = "C:\Users\temp\Database - Copy.accdb" 'change as needed
Set dbs = New ADODB.Connection
dbs.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & FName
Set rset1 = New ADODB.Recordset: rset1.CursorLocation = adUseClient
Set ws = Worksheets("Import") 'update sheet name as needed.
lr = ws.Range("B" & Rows.Count).End(xlUp).Row
For i = 10 To lr
rset1.Open "SELECT * FROM [DB] WHERE [ID] = " & ws.Range("B" & i).Value, dbs, , adLockOptimistic
With rset1
For j = 1 To rset1.Fields.Count - 1
.Fields(j).Value = ws.Range("B" & i).Offset(0, j).Value
Next j
.Update
.Close
End With
Next i
Set rset1 = Nothing
dbs.Close: Set dbs = Nothing
End Sub
推荐阅读
- visual-studio-code - 如何在从 GoogleTestAdapter 运行 google 测试之前将 Visual Studio Code 配置为自动构建?
- python - 在pyqt5中显示geemap
- batch-processing - 我正在尝试列出目录中的特定文件并将它们作为变量输出到我已经拥有的批处理脚本
- php - Laravel:使用同步或 updateOrCreate 更新父表和子表?
- javascript - 计算从当月开始至今的天数,不包括周末
- apache-superset - 超集显示详细的错误消息而不是自定义错误消息
- r - 在 R 中打开 .data 文件
- javascript - Javascript 优化 .heic 照片客户端创建错误
- reactjs - React MaterialUI DataGrid 根据当前排序状态更改排序工具提示文本
- node.js - gm.exe 转换:此图像格式没有解码委托 (input.pdf)