Insert data form Excel to Access 2010 using VBA

孤人 提交于 2019-12-24 14:37:04

问题


I am looking for a solution to inserting data from Excel into Access 2010. The Data in Excel are in a form. After filling in the form, VBA in Excel will insert data to the Access table as a new record.

  1. I don't want to use function in Access - import from Excel.
  2. I don't want to store data in Excel - object table.

I looked at several topics, but none were what I was looking for. Could somebody help me with this?


回答1:


Use DAO to avoid memory leaks with an open Excel sheet ( http://support.microsoft.com/kb/319998 ), for example:

'Reference: Microsoft Office x.x Access Database Engine Object Library
Dim ws As DAO.Workspace
Dim db As DAO.Database
Dim sDb As String
Dim sSQL As String
Dim qdf As QueryDef

sDb = "Z:\Docs\Test.accdb"

Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(sDb)

''A stored query would be better
sSQL = "Parameters p1 Text, p2 Datetime; " _
& "INSERT INTO Table1 (AText,ADate) Values ([p1],[p2])"

Set qdf = db.CreateQueryDef("", sSQL)

qdf.Parameters!p1 = "ABC"
qdf.Parameters!p2 = #2013/1/17#
qdf.Execute dbFailOnError
Debug.Print qdf.RecordsAffected


来源:https://stackoverflow.com/questions/14396627/insert-data-form-excel-to-access-2010-using-vba

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!