'=============================================================================== '一:關於 cmadox5.dll 的引用 '使用本範例,必須先註冊 cmadox32.dll ,再引用進來使用 '例如將 cmadox5.dll 複製到您的 C:\Windows\SysWOW64 目錄下 '並將該dll檔案註冊 :例如於 開始的執行... 鍵入 regsvr32 C:\Windows\SysWOW64\cmadox5.dll 後按確定執行 '實際的程式碼中 您可以 使用 物件 CMADODB5.CMConnection 'CMADODB5.CMConnection 提供方法CMExecute 可回傳 ADODB.recordset ' '=============================================================================== '二-1:關於CMADODB5.CMConnection的 CMExecute 方法 '使用舊協定查詢 並回傳一個 adodb的recordset 'CMConn 是一個CMADODB5.CMConnection 物件 'SQL : 想要執行的 SQL 陳述式 ' '範例語法: ' '輸出基本表資料 'CMConn.Execute "5",資料庫位置,資料庫位置連接埠, SQL 'table 名稱直接使用CMoney上看到的表名即可,例如 SQL="SELECT * FROM 日收盤表排行 WHERE (日期 = '20041110') ORDER BY 股票代號" ' '二-2:關於CMADODB5.CMConnection的 CMExecuteSQLNCLI11 方法 '使用TLS1.2協定來查詢 並回傳一個 adodb的recordset 'CMConn 是一個CMADODB5.CMConnection 物件 'SQL : 想要執行的 SQL 陳述式 ' '範例語法: ' '輸出基本表資料 'CMConn.CMExecuteSQLNCLI11 "5",資料庫位置,資料庫位置連接埠, SQL 'table 名稱直接使用CMoney上看到的表名即可,例如 SQL="SELECT * FROM 日收盤表排行 WHERE (日期 = '20041110') ORDER BY 股票代號" ' '=============================================================================== 三:程式範例 Dim Conn_CMado As New CMADODB5.CMConnection Dim Rs As New ADODB.Recordset Dim Str_SQL As String Str_SQL = "SELECT * FROM 日收盤表排行 WHERE (日期 = '20041110') ORDER BY 股票代號" Set Rs = Conn_CMado.CMExecute("5","cmoneyserver","", Str_SQL) 四:關於動態連結代號–台股 標籤:使用 來決定要設定的動態連結代號,標籤內用逗號來分隔參數 :參數1是動態連結的種類,參數2是動態連結的代號 1、台股–交易所代號: 例:SELECT * FROM [季財報(現金流量單季)] WHERE 年季='201003' AND 股票代號 IN 2、台股–細產業分類: 例:SELECT * FROM [季財報(現金流量單季)] WHERE 年季='201003' AND 股票代號 IN 3、台股–個股特殊分類(不含指數彙編): 例:SELECT * FROM [季財報(現金流量單季)] WHERE 年季='201003' AND 股票代號 IN 4、多個代號寫法:比如想抓取收盤價,樣本為上市、上櫃、創新板、ETF 例:SELECT 股票代號,收盤價 FROM [日收盤表排行] WHERE (股票代號 IN OR 股票代號 IN OR 股票代號 IN OR 股票代號 IN ) AND 日期='20231110' 5、欄位名稱有(),建議以中括號[]包起來,資料表名建議都要用[]包起來: 例:SELECT 股票代號,[總市值(億)] FROM [日收盤表排行] WHERE (股票代號 IN OR 股票代號 IN ) AND 日期='20231110' 五:關於動態連結代號–非台股 標籤:使用 來決定要設定的動態連結代號,標籤內用逗號來分隔參數 :參數1是動態連結的種類,參數2是動態連結的代號,參數3是資料表名稱,參數4是次樣本名稱 1、非台股: 例:SELECT * FROM [重要國際指數] WHERE 日期='20110120' AND 代號 IN 例:SELECT * FROM [權證基本資料表] WHERE 年度='2011' AND 代號 IN 註:資料表前後請留空白,若表格名稱內含有中括號,則表格名稱請不要再用中括號包住