如何擷取出Recordset的Table Name
- 帖子
- 132
- 主題
- 31
- 精華
- 0
- 積分
- 167
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- Office 2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- Taipei
- 註冊時間
- 2011-4-14
- 最後登錄
- 2024-2-28
  
|
如何擷取出Recordset的Table Name
請教各位大大
不知道是如有辨法由ADODB內的Connection或是Recordset來取得他原先連線的Table Name為何呢? |
|
clio
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2018-2-5 13:14
| 只看該作者
回復 1# clio
試試看
工具-設定引用項目,選中 "Microsoft DAO3.6 Object Library”- Option Explicit
- Sub Ex()
- Dim Da As DAO.Database, ta As DAO.TableDef
- Set Da = DAO.OpenDatabase("路徑\Database.mdb")
- For Each ta In Da.TableDefs
- If InStr(ta.Name, "MSys") = 0 Then Debug.Print ta.Name
- Next
- Da.Close
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 132
- 主題
- 31
- 精華
- 0
- 積分
- 167
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- Office 2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- Taipei
- 註冊時間
- 2011-4-14
- 最後登錄
- 2024-2-28
  
|
3#
發表於 2018-2-5 14:29
| 只看該作者
回復 2# GBKEE
Hi GBKEE,
我在載入Microsoft DAO 3.6 Object Libaray時發生錯誤,不知道有方法可以解嗎? |
|
clio
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
4#
發表於 2018-2-7 06:57
| 只看該作者
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
5#
發表於 2018-2-7 07:11
| 只看該作者
回復 3# clio
|
|
|
|
|
|
|
- 帖子
- 132
- 主題
- 31
- 精華
- 0
- 積分
- 167
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- Office 2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- Taipei
- 註冊時間
- 2011-4-14
- 最後登錄
- 2024-2-28
  
|
6#
發表於 2018-2-7 09:21
| 只看該作者
回復 4# c_c_lai
感謝c_clai
經過您的告知檔案路徑後,我直接在Excel裡面指定路徑的方式就能抓取了,感謝您的協助。 |
|
clio
|
|
|
|
|
- 帖子
- 132
- 主題
- 31
- 精華
- 0
- 積分
- 167
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- Office 2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- Taipei
- 註冊時間
- 2011-4-14
- 最後登錄
- 2024-2-28
  
|
7#
發表於 2018-2-7 09:33
| 只看該作者
回復 2# GBKEE
Hi GBKEE,
感謝您的協助,我也試過了,這個是否是給Access使用,因為那個路徑我不清楚,所以試不出來,
我是用Excel裡面的VBA去抓SQL或是ORACLE等多個Database,一開始是把連線到的資料轉回Recordset,再使用Recordset來做後續找搜比對的工作,
因為有新增一個工能,需要作代有萬用字元的比對,所以無法使用Recordset.Find的方法來完成,只好需要重新連結SQL或ORACLE,然後從Recordset的資訊,好像又無法快速得到Table Name
才想請教大大,是否有更好的方法,還是我只能從Recordset.Source的字串資訊來擷取嗎?
對不起由於我對這方面不是很了解,或許會問了很奇怪的問題,還請見諒,感謝您。 |
|
clio
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
8#
發表於 2018-2-7 11:02
| 只看該作者
本帖最後由 GBKEE 於 2018-2-7 11:04 編輯
回復 7# clio - Option Explicit
- '引用:Microsoft Ado Ext.2.x For DDL And Security
- Sub Ex_Ado()
- Dim myCat As New ADOX.Catalog, myBook As String, i As Integer
- Dim strUser As String, strPWD As String, Msg As String
- myBook = "d:\excel\資料庫.xlsx" '指定要查詢的工作簿完整名稱
- Msg = UCase(Split(myBook, ".")(UBound(Split(myBook, "."))))
- Select Case Msg '建立與指定工作薄的連接
- Case "XLS"
- myCat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" _
- & "Extended Properties=Excel 8.0;" & "Data Source=" & myBook
- Case Is = "XLSM", Is = "XLSX"
- myCat.ActiveConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" _
- & "Extended Properties=""Excel 12.0 xml"";" & "Data Source=" & myBook
- Case "MDB"
- myCat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & myBook & _
- ";User ID=" & strUser & ";Jet OLEDB:Database Password=""" & strPWD & """;"
- End Select
- Cells.Clear
- Range("A1:B1") = Array("查詢出的名稱", "處理後的名稱")
- With myCat.Tables
- For i = 0 To .Count - 1
- Cells(i + 2, 1) = .Item(i).Name
- If Msg <> "MDB" Then Cells(i + 2, 2) = Mid(.Item(i).Name, 1, Len(.Item(i).Name) - 1)
- Next
- End With
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 132
- 主題
- 31
- 精華
- 0
- 積分
- 167
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- Office 2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- Taipei
- 註冊時間
- 2011-4-14
- 最後登錄
- 2024-2-28
  
|
9#
發表於 2018-2-8 09:56
| 只看該作者
回復 8# GBKEE
感謝GBKEE大大的解答,完全符合我的需求,讓我解決了這個問題,另一個問題是想請教一下
引用:Microsoft Ado Ext.2.x For DDL And Security
我裡面有看到有二個選擇
Microsoft Ado Ext. 2.8 For DDL And Security
Microsoft Ado Ext. 6.0 For DDL And Security
不知道這二者的差異在那邊呢? |
|
clio
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
10#
發表於 2018-2-8 11:22
| 只看該作者
|
|
|
|
|
|