返回列表 上一主題 發帖

[發問] 在excel中資料新增後,Access資料表中的資料會自動更新

[發問] 在excel中資料新增後,Access資料表中的資料會自動更新

請教各位高手~

目前資料型態有兩個 一個是EXCEL另一個是Access

想要excel的資料新增後

按個按鈕,Access裡的資料就會自動更新

excel:
2.png
access:
1.png
因為這個錄製巨集也無法成功

網上是有找到直接產生一個資料表

但因還想要用原來的資料表,不要每次更新就新增一個資料表,只需更新資料

要怎麼在excel可以直接操作access的同個資料表呢?

麻煩了~謝謝^ ^

本帖最後由 Changbanana 於 2016-9-6 15:12 編輯

回復 2# lpk187


    謝謝你的答覆
   目前若是跑三欄的資料和都有值的話是都有複製過去

但有發現若是中間有空資料就無法做了
可以把key值改成ID嗎?
還有增加欄位的話是不是這樣做?
  1. Public Sub 匯出()
  2.     Dim arr, i%
  3.     Dim myCon As Object, myRs As Object, sql$
  4.     Set myCon = CreateObject("ADODB.Connection")
  5.     Set myRs = CreateObject("ADODB.Recordset")
  6.     myCon.Open "provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\test.accdb;"
  7.     arr = Sheets(1).Range("[color=Red]D1[/color]", Sheets(1).[A65535].End(xlUp))
  8.     Set myRs = Nothing
  9.     For i = 1 To UBound(arr)
  10.         sql = "SELECT * FROM 資料表1 WHERE 資料表1.名稱 Like '" & arr(i, 1) & "';"
  11.         Set myRs = myCon.Execute(sql)
  12.         If myRs.EOF = True Then
  13.             sql = "INSERT INTO " & "資料表1" & "(名稱,ID,成績國,[color=Red]成績數[/color])" & _
  14.                   " VALUES('" & arr(i, 1) & "','" & arr(i, 2) & "','" & arr(i, 3) & "'[color=Red]," & arr(i, 4) & "[/color]);"
  15.             Set myRs = myCon.Execute(sql)
  16.         End If
  17.         Set myRs = Nothing
  18.     Next
  19.     Set myRs = Nothing
  20.     myCon.Close
  21.     Set myCon = Nothing

  22. End Sub
複製代碼
成績數是想要增加欄位的資料~

TOP

回復 4# lpk187

test.rar (34.48 KB)

以上附上檔案~~

謝謝你的幫忙

還在研究中@@

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題