看板 Visual_Basic 關於我們 聯絡資訊
使用環境:Excel 2003 -vba + access資料庫 我利用 Excel VBA 來更新 資料庫 中的資料 因為我需要一次大量更新多筆資料 我利用 ListView 來做列表更新 所以我就寫了以下的更新語法 (資料庫連接語法省略) 只節錄部分語法~~ For i = ListView1.ListItems.Count To 1 Step -1 strsql = "select * from test where id = " & _ ListView1.ListItems(i).Text & "" Set myrst = myCon.Execute(strsql) myrst.MoveFirst Set myconn = New ADODB.Connection With myconn .Open myCon With New ADODB.Recordset .Open strsql, myconn, , adLockOptimistic .Fields("name").Value = ListView1.ListItems(i).SubItems(2) .Fields("data").Value = ListView1.ListItems(i).SubItems(3) ListView1.ListItems.Remove i .Update .Clos End With Set myconn = Nothing End With Next 以上這樣確實能達到我想要 一次大量更新欄位資料的目的 但是這樣跑個幾次後 發現 access 資料庫的檔案卻異常變大 從 1.5MB 飆到 30幾MB 想這是我的程式語法造成的 還是本身 access 資料庫就會這樣 想請高手們幫我解惑?? 如果是程式上可以再做修改優化 能不能幫我做修改 -------------------------------------- 另外想再請教一個問題~~ 如果我有一個變數 X 內容是 A001 我想透過 VBA 語法 X = X + 1 要怎樣寫?? 謝謝~~ -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.81.234.21
Marty:access的問題...可以用[壓縮/修復資料庫]解決... 06/09 08:37
evantw:所以樓上的意思是~~程式寫法並沒有不妥~只是access 問題囉? 06/09 22:54
※ 編輯: evantw 來自: 219.81.228.153 (06/09 22:56)