日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

同时删除两张表的数据_把数据表中对应工作表的数据首先删除,然后导入数据...

發布時間:2025/3/21 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 同时删除两张表的数据_把数据表中对应工作表的数据首先删除,然后导入数据... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我們今日繼續講解VBA數據庫解決方案的第28講內容:利用VBA,把數據表中對應工作表的數據首先刪除,然后向數據表中導入工作表數據。數據庫的講解已經持續一段時間了,從對簡單數據庫的認識到利用VBA對數據庫的操作,我們一步步的走來,估計大家已經學到了很多知識。最近的內容主要是操作,我把我可能想到的各種情況給大家介紹講解,這些都是我們在實際的工作中會遇到的情況,只要大家掌握了代碼,并結合一下自己的工作實際,很快就會寫出自己的代碼。當然要想改代碼必須對代碼有全面的理解。

今日給大家講的情況是:數據庫錄入錯了,但關鍵的字段沒有錯誤,這時我們怎么處理呢?這時的處理方案是:首先要刪除之前錄入的數據,然后修改數據并再次錄入。

實例:我們在錄入員工信息時,不小心把民族給錄入錯誤,如下面的工作表:

第2行到第5行,人員的民族應該為漢,不小心錄入了回族,這時改怎么處理呢?這就是我這節要面對的解決方案:先刪除,再導入正確的。怎么做到呢:看下面的代碼:

Sub mynzCreateDataTable_6() '第28講利用VBA,根據工作表的數據,在數據表中先刪除已有的數據,然后添加記錄

Dim cnADO, rsADO As Object

Dim strPath, strTable, strWhere, strSQL, strMsg As String

Set cnADO = CreateObject("ADODB.Connection")

Set rsADO = CreateObject("ADODB.Recordset")

strPath = ThisWorkbook.Path & "mydata2.accdb"

strTable = "員工信息"

cnADO.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & strPath

'匯報給用戶記錄數

strSQL = "SELECT * FROM " & strTable

rsADO.Open strSQL, cnADO, 1, 3

MsgBox "當前記錄數為:" & rsADO.RecordCount

rsADO.Close

'打開數據表中存在的員工編號相同的記錄

strSQL = "DELETE FROM " & strTable & " A WHERE EXISTS(" _

& "SELECT * FROM [Excel 12.0;Database=" & _

ThisWorkbook.FullName & "].[" & ActiveSheet.Name & "$" _

& Range("a1").CurrentRegion.Address(0, 0) & "] " _

& "WHERE 員工編號=A.員工編號)"

cnADO.Execute strSQL '把這些記錄刪除

'下面將添加記錄

strSQL = "INSERT INTO " & strTable & " SELECT * FROM [Excel 12.0;Database=" _

& ThisWorkbook.FullName & ";].[" & ActiveSheet.Name & "$" _

& Range("A1").CurrentRegion.Address(0, 0) & "]"

cnADO.Execute strSQL

MsgBox "紀錄添加成功。

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的同时删除两张表的数据_把数据表中对应工作表的数据首先删除,然后导入数据...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。