Страница: 1 |
Страница: 1 |
Вопрос: Получение списка таблиц в Бд?
Добавлено: 12.12.07 14:31
Автор вопроса:
Artur
Как получить список таблиц, находящихся в БД (подключение ADODB) из .mdb файла в Visual basic?
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа: HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 14.12.07 03:07
ReturnArray() As String) As Long '+
'Возвращаем массив ReturnArray с именами таблиц
'В случае успеха функция принимает значение 0, иначе номер ошибки
Set dbObj = New ADODB.Connection
Dim rsSchema As ADODB.Recordset
Dim dbConnectionString As String
On Error GoTo e
dbConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0ata Source=" & DataBasePath$ & ";" & _
IIf(Trim(Password) <> "", "Jet OLEDB:Database Password=" & Trim$(Password$) & ";", ""
ReDim ReturnArray(0)
dbObj.Open dbConnectionString
If dbObj.state = adStateOpen Then
Set rsSchema = dbObj.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "TABLE")
If Not rsSchema Is Nothing Then
Do While Not rsSchema.EOF
If UCase(Left(rsSchema!Table_name, 4)) <> "MSYS" Then
If UCase(Left(rsSchema!Table_name, 11)) <> "SWITCHBOARD" Then
NewTableName = rsSchema!Table_name
ReturnArray(UBound(ReturnArray)) = NewTableName
ReDim Preserve ReturnArray(UBound(ReturnArray) + 1)
End If
End If
rsSchema.MoveNext
Loop
End If
End If
'ReDim Preserve ReturnArray(UBound(ReturnArray) - 1)
GetTableArray = 0
rsSchema.Close
Set rsSchema = Nothing
Set dbObj = Nothing
Exit Function
e:
GetTableArray = Err.Number
Debug.Print Err.Description
 escriptionLastError = Err.Description
On Error GoTo 0: On Error Resume Next
Set rsSchema = Nothing
Set dbObj = Nothing
End Function
Номер ответа: 2
Автор ответа: VerhoLom
Вопросов: 20
Ответов: 285
Профиль | | #2
Добавлено: 05.01.08 16:35
Dim cat As New ADOX.Catalog
Dim conn As New ADODB.Connection
Dim tbl As ADOX.Table
listBox.Clear
With conn
.Provider = "Microsoft.Jet.OleDb.4.0"
.ConnectionString = "c:\11\db1.mdb"
.Open
End With
With cat
Set .ActiveConnection = conn
For Each tbl In .Tables
If tbl.Type = "TABLE" Then
listBox.AddItem tbl.Name & " " & tbl.Columns.Count & " columns"
End If
Next
Set .ActiveConnection = Nothing
End With
conn.Close
Set conn = Nothing
Не забудьте подключить библиотеки:
Microsoft ActiveX Data Objects 2.6
Microsoft ADOExt 2.8 For DDL and Security
Возможно, у вас иные версии...
Номер ответа: 3
Автор ответа: Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 06.01.08 09:16
SHOW TABLES в нормальных СУБД