国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
利用VBA向一個已有的數據表中添加數據記錄的方法

大家好,今日我們繼續(xù)講解VBA數據庫解決方案的第23講:利用VBA如何向一個已有的數據表中添加記錄。在上一講中我們講了如何把工作表的數據保存到新建的數據表中方案,這是非常好的方法,希望讀者能在實際的工作中多加利用。和《VBA代碼解決方案》一樣,讀者可以在我的資料中感覺到很多我們實際工作中問題的影子,我曾經不止一次的講過,VBA的實用性非常高,好好利用,可以大大提高我們的工作效率。

今天我們要講的是:對于一個已經存在的數據表,我們要向其中添加記錄的方案。其實這也是最普通的應用了,在我們的工作中隨處可以見到。我們的代碼該如何做到呢?

實例:在上一講的講解中,我們利用VBA代碼把之前的銷售資料做了備份,如下面的截圖:

到了第三個月,我們要把第三個月的數據追加進去,下面是3月的銷售記錄:

其實,這些都是來源于工作的實際,也是工作中確實存在的問題,讀者在學習的時候可以把這些代碼作為一個實例來利用,下面看我們的解決方案代碼:

Sub mynzCreateDataTable_1() '將工作表的數據添加到數據表中 第23講

Dim cnADO As New ADODB.Connection

Dim rsADO As ADODB.Recordset

Dim strPath, strSQL, strTable As String

strPath = ThisWorkbook.Path & '\mydata2.accdb'

strTable = '19年銷售情況'

cnADO.Open 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=' & strPath

strSQL = 'SELECT * FROM ' & strTable

Set rsADO = New ADODB.Recordset

rsADO.Open strSQL, cnADO, 1, 3

'匯報給用戶記錄數

MsgBox '添加前記錄數為:' & rsADO.RecordCount

Sheets('Sheet4').Select

'添加記錄

t = 2

Do While Cells(t, 1) <> ''

rsADO.MoveLast

rsADO.addnew

For i = 0 To rsADO.Fields.Count - 1

rsADO.Fields(i) = Sheets('Sheet4').Cells(t, i + 1)

Next i

rsADO.Update

t = t + 1

Loop

'匯報給用戶最后的記錄數

MsgBox '添加后記錄數為:' & rsADO.RecordCount

rsADO.Close

cnADO.Close

Set rsADO = Nothing

Set cnADO = Nothing

End Sub

代碼截圖:

代碼講解:

1 Dim cnADO As New ADODB.Connection

Dim rsADO As ADODB.Recordset

Dim strPath, strSQL, strTable As String

strPath = ThisWorkbook.Path & '\mydata2.accdb'

strTable = '19年銷售情況'

cnADO.Open 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=' & strPath

strSQL = 'SELECT * FROM ' & strTable

Set rsADO = New ADODB.Recordset

rsADO.Open strSQL, cnADO, 1, 3

以上的代碼我用了前期綁定的方法創(chuàng)建的ADO, 并打開了數據表的集合

2 '添加記錄

t = 2

Do While Cells(t, 1) <> ''

rsADO.MoveLast

rsADO.addnew

For i = 0 To rsADO.Fields.Count - 1

rsADO.Fields(i) = Sheets('Sheet4').Cells(t, i + 1)

Next i

rsADO.Update

t = t + 1

Loop

上述代碼是把工作表中的數據添加到數據表中.

這里需要講解的是: rsADO.addnew 和 rsADO.Update 語句,這兩條語句的作用是是向記錄集中添加記錄,和寫入記錄.

.addnew 告訴記錄集,我們要添加一行

.update 通知記錄集,我們要把準備好的這個行寫入數據庫了.

3 為了達到人機對話的目的,我在兩處有了代碼如下:

'匯報給用戶記錄數

MsgBox '添加前記錄數為:' & rsADO.RecordCount

'匯報給用戶最后的記錄數

MsgBox '添加后記錄數為:' & rsADO.RecordCount

運行的過程如下:首先顯示添加前的記錄:

運行完成后顯示添加后的記錄數:

最后看看我們運行完,添加好數據之后的數據庫截圖:

今日內容回向:

1 如何向已經有的數據記錄集中添加數據?

2 ADDNWE 和Update的作用是什么?

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VBA數據庫解決方案第29講:如何批量修改數據庫中的記錄
VBA與數據庫解決方案:Recordset記錄集合的動態(tài)查詢,并顯示結果
提取固定位置(行或者單元格)數據的方法
Excel之VBA常用功能應用篇:VBA查詢Access數據庫操作方法
工作表數據與UserForm窗口的交互:如何實現數據的精確查找
如何在Excel中使用SQL語言?
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服