[算表] 串連MSSQL資料庫及EXCEL工作表

作者: rj5871224 (5871224)   2021-02-26 18:31:56
軟體:EXCEL , MSSQL
版本:EXCEL 2010 , MSSQL 2012
請教各位大大
目前使用串連兩個平台的方法是,先取得MSSQL資料到寫到EXCEL工作表,再去JOIN兩個表
Set Con = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
Con.Open "Provider=SQLOLEDB.1;User ID=sa;Data Source=D1;Initial
Catalog=T1" '連MSSQL
SQL = "SQL語法"
Set Rs = Con.Execute(SQL) '執行SQL
For i = 0 To Rs.Fields.Count - 1 '寫入結果欄名
  [A1].Offset(0, i) = Rs.Fields(i).Name
Next
[A2].CopyFromRecordset Rs  '寫入結果內容
Con.Close '中斷連線
Con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel
12.0;Data Source=" & ActiveWorkbook.FullName '連EXCEL
SQL = "SQL語法"
Set Rs = Con.Execute(SQL) '執行SQL
再像上方一樣寫入欄名和內容
想請問:
1.是否有方法可以,直接JOIN兩個平台資料?
2.若沒有,是否有方法可以,取得SQL資料時,省略先寫入工作表的步驟?
  例如,用Rs.GetRows先把資料先寫到變數裡,可否用這個這個變數直接JOIN工作表

Links booklink

Contact Us: admin [ a t ] ucptt.com