⑴ Excel VBA 連接SQL資料庫後的操作。
呵呵,以前就幫人家解決過這個,請看下面的代碼,有注釋的!
Private Sub CommandButton5_Click()
    Dim Conn As New ADODB.Connection    '定義ADODB連接對象
    Dim ConnStr As String   '定義連接字元串
    Dim xiao As String
    
    xiao = ComData.Text
'對於SQL 2008,如果以IP方式訪問伺服器,必須要啟動SQL Server Browser服務,如果是Express版本,要以「IP(計算機名)\實例名」方式訪問
    ConnStr = txtData.Text
    Dim Records As New ADODB.Recordset '定義ADODB對象的記錄集
    Dim Sheet As Worksheet '定義工作表
    Set Sheet = ThisWorkbook.Worksheets("Sheet2") '給變數Sheet賦值,注意:是工作簿中索引為1的那個表(通常一個新的工作簿Sheet1的索引為1)
    'Sheet.Name = "Data" '把Sheet名稱改為Data
    Sheet.Cells.Clear   '清空表中原有的數據
'連接狀態是打開就不在進行Open操作
        Conn.Open ConnStr
    Dim SQLStr As String    '要執行的SQL語句
    SQLStr = "select * from Shift_Code where Club='" + xiao + "'" '可以執行更復雜的SQL語句
Records.Open SQLStr, Conn, adOpenStatic, adLockBatchOptimistic '讀取SQL查詢結果到Records記錄集
'Records.Open
    Dim i, j, TotalRows, TotalColumns As Integer
    j = 0
TotalRows = Records.RecordCount
TotalColumns = Records.Fields.Count
'下面的循環把表頭(即列名)寫到Excel表的第一行
For i = 0 To TotalColumns - 1
    Sheet2.Cells(1, i + 1) = Records.Fields(i).Name
Next
      
'下面的循環把查詢結果寫到Excel表中
Do While Not Records.EOF
    For i = 0 To TotalColumns - 1
        Sheet2.Cells(j + 2, i + 1) = Records.Fields(i).Value
    Next
    
    Records.MoveNext
    j = j + 1
    
Loop
Records.Close   '關閉記錄集
Conn.Close '關閉連接
Set Records = Nothing '清空對象
Set Conn = Nothing '清空對象
End Sub
有什麼不懂的話Hi我!
⑵ vb如何刪除access資料庫指定記錄
通過SQL語句刪除:
SQL 有專門的刪除查詢,格式為:
Delete from [表名稱] where [條件]
例如刪除女同學的成績:Delete from 成績單 where [性別]= "女"
以上是SQL的用法,如果在vb中使用,就在前面加上「DoCmd.RunSQL」就可以了。
DoCmd.RunSQL "Delete from 成績單 where [性別]= '女' "
