返回列表 上一主題 發帖

[發問] VBA 連結 Access 的問題請教

[發問] VBA 連結 Access 的問題請教

因為特殊工作需求一定要用ExcelAccess作連結,所以我依照範例寫了一個測試程序,
它會把資料貼在 Sheet 內的A2,我要如何把RUN出來的之料放進變數內?
我最主要的目的是 用EXCEL2007 開Access2003的資料庫,從中篩選案件狀態='2'
的P1總時間作加總
希望有人能幫我
  1. Sub aa()
  2. Dim cnn As New ADODB.Connection
  3. Dim rst As New ADODB.Recordset

  4. cnn.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & ThisWorkbook.Path & "\CCBO.MDB"

  5. sq1 = "select AVG(P1總時間) from CCBO where 案件狀態='2'"

  6. [a2].CopyFromRecordset cnn.Execute(sql)

  7. cnn.Close
  8. Set cnn = Nothing
  9. End Sub
複製代碼

回復 1# uf023630
看不出錯誤在哪
提醒一下
資料庫的名字叫CCBO
你要查詢的資料表也叫CCBO嗎?
Alex

TOP

RUN 起來是沒問題
但是 [a2].CopyFromRecordset cnn.Execute(sql) 會把資料貼到sheet去,但是我要的是
將RUN 出來的資料放到變數去

TOP

RUN 起來是沒問題
但是 [a2].CopyFromRecordset cnn.Execute(sql) 會把資料貼到sheet去,但是我要的是
將 ...
uf023630 發表於 2012-5-17 17:48


可以參考一下這裡範例
http://kimbalko-chi.blogspot.com/2010/06/how-toexcel-vba-sql.html

把sql轉為
    sq1 = "select AVG(P1總時間) as P1_avg_time from CCBO where 案件狀態='2'"

不用這個
[a2].CopyFromRecordset cnn.Execute(sql)
轉為用record set接上
Set rst = cnn.Execute(strQuery)
最後把數值放到變數
變數 = rst.Fields("P1_avg_time").Value
懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

        靜思自在 : 世上有兩件事不能等:一、孝順 二、行善。
返回列表 上一主題