用VB将Access中的某几列数据导入到excel当中? 10

VB窗体有有添加记录的按钮,已实现对Access数据库的增删。想要同事把每次更新的数据库导入到excel当中可进行查询,网上的代码调了半天都不行。求高手写下这部分的代码,... VB窗体有有添加记录的按钮,已实现对Access数据库的增删。想要同事把每次更新的数据库导入到excel当中可进行查询,网上的代码调了半天都不行。求高手写下这部分的代码,感激不尽! 展开
 我来答
maiherui
2012-06-19 · 超过19用户采纳过TA的回答
知道答主
回答量:62
采纳率:100%
帮助的人:46.5万
展开全部
给你一段代码,修改下即可!
第一步:创建一个Excel的链接表!
'输入目录向数据库链接一个Excel表 并且加上 "XL"
Sub LinkInxlsData(strSelectDir As String, tabName As String)
On Error GoTo Err_InExcel

Dim rst1 As ADODB.Recordset
Dim cat1 As New ADOX.Catalog
Dim tbl1 As ADOX.Table
Dim strXLtab As String

strXLtab = "XL" & tabName

cat1.ActiveConnection = CurrentProject.Connection
For Each tbl1 In cat1.Tables
If tbl1.Name = strXLtab Then
cat1.Tables.Delete (strXLtab)
End If
Next tbl1
'链接这个Excel表
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel97, strXLtab, strSelectDir, -1, tabName
Application.RefreshDatabaseWindow

Exit_InExcel:
Exit Sub
Err_InExcel:
MsgBox "在你指定的目录下没有你要找的文件,请重新选择路径!", vbExclamation, "迈和瑞软件提示 导入错误"
Resume Exit_InExcel
End Sub

'删除一个指定的链接表
Sub DelLinkAccTable(tabName As String)
Dim cat1 As New ADOX.Catalog
Dim tbl1 As ADOX.Table

cat1.ActiveConnection = CurrentProject.Connection
For Each tbl1 In cat1.Tables
If tbl1.Name = tabName Then
cat1.Tables.Delete (tabName)
End If
Next tbl1
Application.RefreshDatabaseWindow
End Sub

第二步:连接好后,调用这个函数,追加数据到目标表
'链接一个表然后追加数据到当前数据库的表
Sub LinkAddAccDataTomyDB(mystrdir As String, inputTab As String)

Dim myTab As String, myMDBtab As String
Dim strSQL As String

myTab = inputTab
myMDBtab = "MDB" & inputTab
'Debug.Print mystrdir, mytab
'链接这个Excel表
LinkAccessTable mystrdir, myTab
'追加数据
strSQL = "INSERT INTO " & "[" & myTab & "]" & " SELECT " & "[" & myMDBtab & "]" & ".* FROM " & "[" & myMDBtab & "]" & ";"
'Debug.Print strSQL
Call MeExecuteSQL(strSQL)

'删除链接表
DelLinkAccessTable myMDBtab

'MsgBox "数据导入成功!", vbInformation, AccMsgTitl
End Sub

最后:导入完成,用上面删除链接表的程序删除链接表!
yszhongsoft@163.com
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式