大家好,今日繼續給大家講解VBA數據庫解決方案的第21講,如何利用VBA代碼在已有的數據表中刪除,添加,修改字段。這個內容是操作數據庫的一項必修的內容,還望大家在實際工作中多利用,所以這節的知識,對于讀者提高自己的數據庫的操作很有幫助,這節的內容同時也涉及到很多的SQL語句操作,對于大家理解通過VBA對數據庫的控制會很有幫助,或許有的朋友剛剛看到我的平臺的文章,對于代碼的熟悉程度不如老朋友,還望能充分結合我之前的書籍《VBA代碼解決方案》多實踐,提高自己對VBA的理解能力,不然對于大段的代碼的理解將是非常吃力的。
實例內容:我們還是利用數據來說話:如下的數據庫的數據表"信息參考"共有兩個的字段

現在要增加一個"電子郵箱"的字段,先設計這個字段的長度為10個字符,然后再修改一下到50個字符,當然在增加"電子郵箱"的字段前要先判斷原數據表中是否存在這個字段,如果存在要先刪除這個字段,同時在操作的過程中要做到可視化的控制。
分析:這個實例并不難,但過程是較繁瑣的,我們在做程序前要先理清思路。我們看看要實現這個要求的大概要經過的過程:
1 數據庫和數據表連接的創建和打開。
2 顯示字段(可視化的要求),同時要判斷是否有"電子郵箱"字段.
3 如果有"電子郵箱",那么刪除,同時顯示一下刪除后的結果(可視化).
4 刪除后,或者原數據表中沒有這個字段,那么建立"電子郵箱"字段,這時建立的是字符長度是10.
5 顯示建立后的結果(可視化).
6 修改字段長度。
7 最后再次顯示結果(可視化)。
上述過程緊扣可視化的要求進行,一步一步的完成,我們在做程序的時候,也要做到這種可視化的要求,要給用戶一個友好的操作,不能呆板的寫代碼,只是考慮到程序的運行時間,要盡可能的多為用戶考慮,操作到哪一步了,要提示給用戶,特別是在數據處理這類單調的工作過程中,更要這樣。
下面看看我們的代碼:
Sub mynzAddFields() '數據表中刪除增加修改字段
Dim cnADO, rsADO As Object
Dim strPath, strSQL 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
tt = False
strSQL = "SELECT * FROM " & strTable
rsADO.Open strSQL, cnADO, 1, 3
Cells.ClearContents
MsgBox "下面將顯示各個字段,判斷有無[電子郵箱]字段