返回列表 上一主題 發帖

如何擷取出Recordset的Table Name

回復 1# clio
試試看
工具-設定引用項目,選中 "Microsoft DAO3.6 Object Library”
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Da As DAO.Database, ta As DAO.TableDef
  4.     Set Da = DAO.OpenDatabase("路徑\Database.mdb")
  5.     For Each ta In Da.TableDefs
  6.         If InStr(ta.Name, "MSys") = 0 Then Debug.Print ta.Name
  7.     Next
  8.     Da.Close
  9. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2018-2-7 11:04 編輯

回復 7# clio
  1. Option Explicit
  2. '引用:Microsoft Ado Ext.2.x For DDL And Security
  3. Sub Ex_Ado()
  4.     Dim myCat As New ADOX.Catalog, myBook As String, i As Integer
  5.     Dim strUser As String, strPWD As String, Msg As String
  6.     myBook = "d:\excel\資料庫.xlsx"  '指定要查詢的工作簿完整名稱
  7.     Msg = UCase(Split(myBook, ".")(UBound(Split(myBook, "."))))
  8.     Select Case Msg  '建立與指定工作薄的連接
  9.         Case "XLS"
  10.             myCat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" _
  11.             & "Extended Properties=Excel 8.0;" & "Data Source=" & myBook
  12.         Case Is = "XLSM", Is = "XLSX"
  13.             myCat.ActiveConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" _
  14.             & "Extended Properties=""Excel 12.0 xml"";" & "Data Source=" & myBook
  15.          Case "MDB"
  16.             myCat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & myBook & _
  17.             ";User ID=" & strUser & ";Jet OLEDB:Database Password=""" & strPWD & """;"
  18.     End Select
  19.     Cells.Clear
  20.     Range("A1:B1") = Array("查詢出的名稱", "處理後的名稱")
  21.     With myCat.Tables
  22.         For i = 0 To .Count - 1
  23.             Cells(i + 2, 1) = .Item(i).Name
  24.           If Msg <> "MDB" Then Cells(i + 2, 2) = Mid(.Item(i).Name, 1, Len(.Item(i).Name) - 1)
  25.         Next
  26.     End With
  27. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 人生沒有所有權,只有生命的使用權。
返回列表 上一主題