Article ID: 154011
Article Last Modified on 1/19/2007
Option Explicit
Public Const strServer = "YourServer" ' Indicate your server.
Public Const strUser = "sa" ' Indicate your user name.
Public Const strPwd = "" ' Indicate your password.
Function EnumSQLDatabases() As Boolean
On Error GoTo EnumSQLDatabases_Err
Dim objSQL As Object, objSQLdb As Object
Dim strMsg As String
Set objSQL = CreateObject("Sqlole.SQLServer")
' Connect to SQL server...
objSQL.Connect strServer, strUser, strPwd
' Print server info.
Debug.Print "------------------------------------------------"
Debug.Print "SQL Server: " & strServer
Debug.Print "------------------------------------------------"
For Each objSQLdb In objSQL.Databases
' Print database(s) name.
Debug.Print "...Database: " & objSQLdb.Name
Next
' Disconnect from SQL server.
objSQL.DisConnect
EnumSQLDatabases = True
EnumSQLDatabases_End:
Exit Function
EnumSQLDatabases_Err:
' Basic error handling.
MsgBox Err.Description, vbInformation, "SQL OLE Automation"
Resume EnumSQLDatabases_End
End Function
?EnumSQLDatabases()
------------------------------------------------
SQL Server: MyTestSQLServer
------------------------------------------------
...Database: pubs
......Tables:
..........authors
..........discounts
..........employee
..........jobs
..........pub_info
..........publishers
..........roysched
..........sales
..........stores
..........sysalternates
..........sysarticles
..........syscolumns
..........syscomments
..........sysconstraints
..........sysdepends
..........sysindexes
..........syskeys
..........syslogs
..........sysobjects
..........sysprocedures
..........sysprotects
..........syspublications
..........sysreferences
..........syssegments
..........syssubscriptions
..........systypes
..........sysusers
..........titleauthor
..........titles
True
Note that your output will be similar (depending on the installed
databases in your SQL Server).
Function EnumSQLTables() As Boolean
On Error GoTo EnumSQLTables_Err
Dim objSQL As Object, objSQLdb As Object
Dim objSQLtbl As Object
Dim strMsg As String
Set objSQL = CreateObject("Sqlole.SQLServer")
' Connect to SQL server...
objSQL.Connect strServer, strUser, strPwd
Debug.Print "------------------------------------------------"
Debug.Print "SQL Server: " & strServer
Debug.Print "------------------------------------------------"
For Each objSQLdb In objSQL.Databases
' Print database(s) name.
Debug.Print "...Database: " & objSQLdb.Name
Debug.Print "......Tables: "
For Each objSQLtbl In objSQLdb.Tables
' Print table name(s).
Debug.Print ".........." & objSQLtbl.Name
Next
Next
' Disconnect from SQL server...
objSQL.DisConnect
EnumSQLTables = True
EnumSQLTables_End:
Exit Function
EnumSQLTables_Err:
' Basic error handling.
MsgBox Err.Description, vbInformation, "SQL OLE Automation"
Resume EnumSQLTables_End
End Function
?EnumSQLTables()
------------------------------------------------
SQL Server: MyTestSQLServer
------------------------------------------------
...Database: pubs
......Tables:
..........authors
..........discounts
..........employee
..........jobs
..........pub_info
..........publishers
..........roysched
..........sales
..........stores
..........sysalternates
..........sysarticles
..........syscolumns
..........syscomments
..........sysconstraints
..........sysdepends
..........sysindexes
..........syskeys
..........syslogs
..........sysobjects
..........sysprocedures
..........sysprotects
..........syspublications
..........sysreferences
..........syssegments
..........syssubscriptions
..........systypes
..........sysusers
..........titleauthor
..........titles
Note that your output will be similar (depending on the installed
databases in your SQL Server).
Function EnumSQLColumns() As Boolean
On Error GoTo EnumSQLColumns_Err
Dim objSQL As Object, objSQLdb As Object
Dim objSQLtbl As Object, objSQLfld As Object
Dim strMsg As String
Set objSQL = CreateObject("Sqlole.SQLServer")
' Connect to SQL server...
objSQL.Connect strServer, strUser, strPwd
Debug.Print "------------------------------------------------"
Debug.Print "SQL Server: " & strServer
Debug.Print "------------------------------------------------"
For Each objSQLdb In objSQL.Databases
' Print database(s) name.
Debug.Print "...Database: " & objSQLdb.Name
Debug.Print "......Tables: "
For Each objSQLtbl In objSQLdb.Tables
' Print table name(s).
Debug.Print ".........." & objSQLtbl.Name
For Each objSQLfld In objSQLtbl.Columns
' Print field name(s).
Debug.Print "............." & objSQLfld.Name
Next
Next
Next
' Dis-connect from SQL server.
objSQL.DisConnect
EnumSQLColumns = True
EnumSQLColumns_End:
Exit Function
EnumSQLColumns_Err:
' Basic error handling.
MsgBox Err.Description, vbInformation, "SQL OLE Automation"
Resume EnumSQLColumns_End
End Function
?EnumSQLColumns()
------------------------------------------------
SQL Server: MyTestSQLServer
------------------------------------------------
...Database: master
...Database: model
...Database: msdb
...Database: MyTestDB
...Database: pubs
True
Note that your output will be similar (depending on the installed
databases in your SQL Server).Keywords: kbhowto kbinterop kbprogramming KB154011