Board logo

標題: 怎麼讀取recordset的各欄位的值 [打印本頁]

作者: woteil    時間: 2014-6-17 12:21     標題: 怎麼讀取recordset的各欄位的值

Dim cn
        DbName="DB.accdb"
    sql_command="select  *  from baseinfo"
    Set cn = CreateObject("adodb.connection")
    cn.Open "Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" & ThisWorkbook.Path & "\" & DbName
    Set rs = cn.Execute(sql_command)
    sheets"(sheet1").cells(1,1)=rs.fields(0).vale
    cn.Close



  sheets"(sheet1").cells(1,1)=rs.fields(0).vale <----------這裡有問題
在VBA裡要怎麼表示呢???
作者: owen06    時間: 2014-6-17 12:50

回復 1# woteil


    sheets"(sheet1").cells(1,1)=rs.fields(0).vale <----------這裡有問題

   是因為打錯字的關係嗎?value?
作者: woteil    時間: 2014-6-17 12:53

回復 2# owen06


    不好意思..是打錯..但確實有問題
2013蛇年全勤獎章

[對woteil使用狗仔卡]
       
1# 跳轉到 » 倒序看帖
打印
字體大小: tT
發表於 半小時前 | 只看該作者
怎麼讀取recordset的各欄位的值
Dim cn
        DbName="DB.accdb"
    sql_command="select  *  from baseinfo"
    Set cn = CreateObject("adodb.connection")
    cn.Open "Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" & ThisWorkbook.Path & "\" & DbName
    Set rs = cn.Execute(sql_command)
    sheets"(sheet1").cells(1,1)=rs.fields(0).value
    cn.Close



  sheets"(sheet1").cells(1,1)=rs.fields(0).value <----------這裡有問題
在VBA裡要怎麼表示呢???
作者: woteil    時間: 2014-6-17 13:50

回復 1# woteil


    Dim cn
        DbName="DB.accdb"
    sql_command="select  *  from baseinfo"
    Set cn = CreateObject("adodb.connection")
    cn.Open "Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" & ThisWorkbook.Path & "\" & DbName
    Set rs = cn.Execute(sql_command)
    'sheets"(sheet1").cells(1,1)=rs.fields(0).value
    sheets"(sheet1").cells(1,1).CopyFromRecordset (rs)
    cn.Close

找到一個方法..可以這麼做
sheets"(sheet1").cells(1,1).CopyFromRecordset (rs)

但還是無法只取某個欄的值
作者: joey0415    時間: 2016-2-29 10:02

我自己以前這樣寫,你參考看看
  1.         sub ex
  2.                
  3.                         Set cnn = CreateObject("adodb.connection")
  4.                         cnn.Open ("Driver={SQLite3 ODBC Driver};database=" & ThisWorkbook.Path & "\CB.sqlite")'自行修改drive
  5.                         Set rss = cnn.Execute("select * from XXX")
  6.                                 For i = 0 To rss.Fields.Count - 1 '取標題,如果不要可省略
  7.                                         Cells(1, i + 1) = rss.Fields(i).Name
  8.                                 Next
  9.                         Worksheets("X").Cells(2, 1).CopyFromRecordset (rss) 'cells(2,1)第一行有標題
  10.                         cnn.Close

  11.                         Set cnn = Nothing
  12.                         Set rss = Nothing
  13.                
  14.                 end sub
複製代碼
回復 4# woteil




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)