註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» ADO Select問題
返回列表
下一主題
上一主題
發帖
[發問]
ADO Select問題
蒼雪
發短消息
加為好友
蒼雪
當前離線
UID
29116
帖子
43
主題
9
精華
0
積分
79
金錢
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
在線時間
55 小時
註冊時間
2017-7-23
最後登錄
2025-1-1
中學生
帖子
43
主題
9
精華
0
積分
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
註冊時間
2017-7-23
最後登錄
2025-1-1
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 2019-11-4 23:06
|
顯示全部帖子
[發問]
ADO Select問題
大家好,小弟最近在接觸VBA內使用
ADO
來取得資料。
這邊有個疑問,在我的標題欄為
日期
,取得會有
問題
...
資料來源:
下載
(20.3 KB)
2019-11-4 22:59
寫法如下:
Sub ado_test()
Dim cnn As
Object
, rst As Object
Dim Mypath As String, Str_cnn As String
Dim sql As String, i As Long
Set cnn = CreateObject("adodb.connection")
Mypath = ThisWorkbook.FullName
If Application.Version < 12 Then
Str_cnn = "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=
Excel
8.0;Data Source=" & Mypath
Else
Str_cnn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & Mypath
End If
cnn.Open Str_cnn
'---------------------------------'
sql = "select 項次,機台名稱,2019/1/1 from [工作表2$] where 機台名稱='A01'"
Set rst = cnn.Execute(sql)
Range("A1").CurrentRegion.ClearContents
For
i = 0 To rst.Fields.Count - 1
Cells(1, i + 1) = rst.Fields(i).Name
Next i
[A2].CopyFromRecordset rst
cnn.Close
Set cnn = Nothing
Set rst = Nothing
End Sub
複製
代碼
執行結果:
下載
(5.66 KB)
2019-11-4 23:01
標題欄的日期部分,不能正確列出,且下方數值帶出錯誤。
若是使用 select * from [工作表2$] where 機台名稱='A01'
可以正確列出
,但由於我的標題欄為日期,一年日期365加上一些前置的標題約有375。
而語法中的Execute(sql),標題欄Fields.Count最多只有255。
有辦法解決嗎?
樓主熱帖
Excel VBA條件排序問題
Office VBA,在範圍內搜尋有無刪除線並變色
利用application.inputbox搜尋日期
Userform可以作到即時更新嗎?
Excel 內找沒有Microsoft Date Time Picker
迴圈問題
如何利用Attachments一次夾帶多筆檔案?
VBA SQL語法相關詢問
收藏
分享
蒼雪
發短消息
加為好友
蒼雪
當前離線
UID
29116
帖子
43
主題
9
精華
0
積分
79
金錢
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
在線時間
55 小時
註冊時間
2017-7-23
最後登錄
2025-1-1
中學生
帖子
43
主題
9
精華
0
積分
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
註冊時間
2017-7-23
最後登錄
2025-1-1
2
#
發表於 2019-11-30 09:09
|
顯示全部帖子
回復
2#
jcchiang
經過嘗試,他會顯示一個錯誤訊息。
無值提供給一或多個必要參數。
下載
(14.8 KB)
異常訊息
2019-11-30 09:06
下載
(13.94 KB)
2019-11-30 09:06
看來是增加 [ ],所造成的。
TOP
蒼雪
發短消息
加為好友
蒼雪
當前離線
UID
29116
帖子
43
主題
9
精華
0
積分
79
金錢
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
在線時間
55 小時
註冊時間
2017-7-23
最後登錄
2025-1-1
中學生
帖子
43
主題
9
精華
0
積分
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
註冊時間
2017-7-23
最後登錄
2025-1-1
3
#
發表於 2019-12-2 22:35
|
顯示全部帖子
回復
4#
jcchiang
有,我有嘗試過將標題欄的日期修改成文字過。
但是,只要將 [ ] 加上,他就會跳出上面所顯示的錯誤訊息。
TOP
蒼雪
發短消息
加為好友
蒼雪
當前離線
UID
29116
帖子
43
主題
9
精華
0
積分
79
金錢
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
在線時間
55 小時
註冊時間
2017-7-23
最後登錄
2025-1-1
中學生
帖子
43
主題
9
精華
0
積分
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
註冊時間
2017-7-23
最後登錄
2025-1-1
4
#
發表於 2019-12-3 21:37
|
顯示全部帖子
回復
6#
jcchiang
執行上是沒有問題了。
不過在增加日期部分稍不方便,由於是文字最後拖曳會變成2019/1/365 ...。
不過謝謝您的解惑,真的很謝謝。
---
另外還想請教,若是資料field從2019/1/1 ~ 2019/12/31。
資料再找到8月底之後的資料都load不出,這有辦法解決嗎?
TOP
蒼雪
發短消息
加為好友
蒼雪
當前離線
UID
29116
帖子
43
主題
9
精華
0
積分
79
金錢
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
在線時間
55 小時
註冊時間
2017-7-23
最後登錄
2025-1-1
中學生
帖子
43
主題
9
精華
0
積分
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
註冊時間
2017-7-23
最後登錄
2025-1-1
5
#
發表於 2019-12-3 22:00
|
顯示全部帖子
回復 jcchiang
執行上是沒有問題了。
不過在增加日期部分稍不方便,由於是文字最後拖曳會變成201 ...
蒼雪 發表於 2019-12-3 21:37
我用公式解決日期拖曳問題了...
利用 =text(D1,"yyyy/m/d") 即可以解決,需要第二部分的解答...
TOP
蒼雪
發短消息
加為好友
蒼雪
當前離線
UID
29116
帖子
43
主題
9
精華
0
積分
79
金錢
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
在線時間
55 小時
註冊時間
2017-7-23
最後登錄
2025-1-1
中學生
帖子
43
主題
9
精華
0
積分
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
註冊時間
2017-7-23
最後登錄
2025-1-1
6
#
發表於 2019-12-4 20:18
|
顯示全部帖子
本帖最後由 蒼雪 於 2019-12-4 20:21 編輯
回復
9#
jcchiang
在同一份workbook內可以用公式。
因為長期使用的情況下,資料量會很龐大。
而公式判斷式下多了之後,雖然取得的資料表面上不到10個字元。
可是其實公式占很多,常常到後面檔案就很肥大。
其實,主要的是...
我想在另外一份workbook執行ADO,透過ADO不開啟檔案來取得資料。
這樣檔案也就不至於太大...
TOP
蒼雪
發短消息
加為好友
蒼雪
當前離線
UID
29116
帖子
43
主題
9
精華
0
積分
79
金錢
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
在線時間
55 小時
註冊時間
2017-7-23
最後登錄
2025-1-1
中學生
帖子
43
主題
9
精華
0
積分
79
點名
0
作業系統
windows 7
軟體版本
office 2016
閱讀權限
20
註冊時間
2017-7-23
最後登錄
2025-1-1
7
#
發表於 2019-12-10 19:25
|
顯示全部帖子
回復
11#
jcchiang
好,謝謝您。
看來,我需要將資料儲存方式改變...。
TOP
靜思自在 :
要批評別人時,先想想自己是否完美無缺。
返回列表
下一主題
上一主題
VB 與 VB.Net
生活與感動
JavaScript
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 ‧ 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲