将Excel 2003工作表保存到Access 2003表中

时间:2010-09-27 18:41:39

标签: excel ms-access vba

我正在尝试编写一个宏,将单个工作表中的单行从Excel 2003工作簿导出到Access 2003表中的新行。我是VBA的新手,我在网上找到的所有内容都指向另一种方式 - 从Access到Excel。我希望这是一个导出,而不是一个链接,我不关心在导出后保持它们同步。

1 个答案:

答案 0 :(得分:0)

此示例代码假设了以下几点:

  1. 您正在插入两个值,可在A2和B2中找到。
  2. 值均为字符串
  3. 您有一个名为TestTable的表,其中包含两列

    Public Sub ExportRecord()
    
    
    
    On Error GoTo ErrRoutine
    
    
    Dim conn As New ADODB.Connection
    Dim rs As ADODB.Recordset
    
    
    conn.Open "Your_DSN_Goes_Here", "userId", "pwd"
    
    
    Set rs = New ADODB.Recordset
    rs.Open "TestTable", conn, adOpenDynamic, adLockOptimistic, adCmdTable
    
    
    rs.AddNew
    
    
    rs.Fields("Col1") = CStr(Sheet1.Cells(2, 1))
    rs.Fields("Col2") = CStr(Sheet1.Cells(2, 2))
    
    
    rs.Update
    
    
    Set rs = Nothing
    Set conn = Nothing
    
    
    Exit Sub
    
    ErrRoutine:
    MsgBox Err.Description
    
    End Sub