- 帖子
- 76
- 主題
- 17
- 精華
- 0
- 積分
- 95
- 點名
- 0
- 作業系統
- windowsxp
- 軟體版本
- office2007
- 閱讀權限
- 20
- 性別
- 女
- 註冊時間
- 2016-8-19
- 最後登錄
- 2021-5-5

|
本帖最後由 Changbanana 於 2016-9-6 15:12 編輯
回復 2# lpk187
謝謝你的答覆
目前若是跑三欄的資料和都有值的話是都有複製過去
但有發現若是中間有空資料就無法做了
可以把key值改成ID嗎?
還有增加欄位的話是不是這樣做?- Public Sub 匯出()
- Dim arr, i%
- Dim myCon As Object, myRs As Object, sql$
- Set myCon = CreateObject("ADODB.Connection")
- Set myRs = CreateObject("ADODB.Recordset")
- myCon.Open "provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\test.accdb;"
- arr = Sheets(1).Range("[color=Red]D1[/color]", Sheets(1).[A65535].End(xlUp))
- Set myRs = Nothing
- For i = 1 To UBound(arr)
- sql = "SELECT * FROM 資料表1 WHERE 資料表1.名稱 Like '" & arr(i, 1) & "';"
- Set myRs = myCon.Execute(sql)
- If myRs.EOF = True Then
- sql = "INSERT INTO " & "資料表1" & "(名稱,ID,成績國,[color=Red]成績數[/color])" & _
- " VALUES('" & arr(i, 1) & "','" & arr(i, 2) & "','" & arr(i, 3) & "'[color=Red]," & arr(i, 4) & "[/color]);"
- Set myRs = myCon.Execute(sql)
- End If
- Set myRs = Nothing
- Next
- Set myRs = Nothing
- myCon.Close
- Set myCon = Nothing
- End Sub
複製代碼 成績數是想要增加欄位的資料~ |
|