標題:
[發問]
請問我用excel巨集 用sql語法
[打印本頁]
作者:
Anny
時間:
2012-12-21 14:52
標題:
請問我用excel巨集 用sql語法
請問我用excel巨集 用sql語法取﹝大大1217標籤$l2:l39﹞要放在同在A2的位子,語法如下:
Sub get_data_with_sql()
Set rs = CreateObject("adodb.recordset")
rs.Open "select * form [大大1217標籤$l2:l39] ", "Driver=(Microsoft Excel Driver (*.xls));dbq=C:\大大高中1217.xls"
Cells(2, 1).CopyFromRecordset (rs)
End Sub
會出現'OPEN'方法('._recordset'物件)失敗
請問各位高手這是哪個部分出問題了。
感謝!
作者:
alexliou
時間:
2012-12-21 18:46
回復
1#
Anny
1. Driver 的括弧要用大括號
2. from寫成form
應該是
rs.Open "select * from [大大1217標籤$L2:L39]", "Driver={Microsoft Excel Driver (*.xls)};dbq=C:\大大高中1217.xls"
作者:
Anny
時間:
2012-12-21 23:21
太感謝了,真的可以了耶!
可是我加了where 以後又不行了。主要是想將itm_no這個欄位不為空的才copy到Cells(1, 1).
會出現 error "參數太少,預期個數1"
Sub get_data_with_sql()
Set rs = CreateObject("adodb.recordset")
rs.Open "select * from [大大1217標籤$L2:V39] where itm_no is not null", "Driver={Microsoft Excel Driver (*.xls)};dbq=C:\Users\dsc\Documents\大大高中1217.xls"
Cells(1, 1).CopyFromRecordset (rs)
End Sub
作者:
alexliou
時間:
2012-12-22 08:13
本帖最後由 alexliou 於 2012-12-22 08:15 編輯
回復
3#
Anny
item_no is not null 是英文語法
應該怎麼改成程式語法呢?
作者:
alexliou
時間:
2012-12-22 08:44
本帖最後由 alexliou 於 2012-12-22 08:45 編輯
回復
3#
Anny
我猜測Item_no應該指的是你所想要作為判斷依據的欄位名稱
在SQL句子中的From clause 所指定範圍 的第一列預設被視為標題列 (或欄位名稱)
我假設你把每個欄位的標題放在第一列
所以只要改為
rs.Open "select * form [大大1217標籤$L
1
:V39] where itm_no is not null", "Driver=(Microsoft Excel Driver (*.xls));dbq=C:\大大高中1217.xls"
就可以了
作者:
Anny
時間:
2012-12-22 09:12
我將item_no 的欄位名稱改成 項次 就可以了耶!(雖然不知道為什麼)
感謝Alex喔
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)