Пример VB-7. Просмотр списков таблиц баз данных двух серверов

В этом примере диалоговое окно отображает списки баз данных сразу двух серверов. На рис. 23.20 представлена форма (в режиме разработки).

Пример VB-7. Просмотр списков таблиц баз данных двух серверов - student2.ru

Рис. 23.20

Форма для просмотра списков таблиц баз данных двух серверов (в режиме разработки)

Для этого проекта таблица свойств очень похожа на таблицу примера 2, только здесь используются массивы элементов управления Combo1(2), List(2). Листинг 23.7 содержит код модуля формы, а на рис. 23.21 приведен фрагмент работы с проектом в режиме выполнения.

Листинг 23.7 Код модуля формы для просмотра списков таблиц баз данных двух серверов

1: Dim sqlOb1 As SQLDMO.SQLServer

2: Dim sqlOb2 As SQLDMO.SQLServer

3: Dim obj1 As Object

4: Dim obj2 As Object

5:

6: Private Sub Form_Load()

7:

8: Set sqlOb1 = New SQLDMO.SQLServer

9: sqlOb1.Connect "VOVA", "sa", ""

10:

11:

12: Set sqlOb2 = New SQLDMO.SQLServer

13: sqlOb2.LoginSecure = True

14: sqlOb2.Connect "TOSHIBA-USER"

15:

16: Set obj1 = sqlOb1.Databases

17: Set obj2 = sqlOb2.Databases

18:

19: For Each dbs In obj1

20: Combo1(0).AddItem dbs.Name

21: Combo1(0).Text = dbs.Name

22: Next dbs

23:

24: Combo1_Click (0)

25:

26: For Each dbs In obj2

27: Combo1(1).AddItem dbs.Name

28: Combo1(1).Text = dbs.Name

29: Next dbs

30:

31: Combo1_Click (1)

32:

33:

34:

35: End Sub

36:

37: Private Sub Combo1_Click(Index As Integer)

38: 'занести в список List1 таблицы выбранной в Combo1 базы

39:

40: Dim objN As SQLDMO.Tables

41:

42: Frame2.Caption = "Таблицы базы '" & Trim(Combo1(Index).Text) & "'"

43:

44: List1.Clear

45: If Index = 0 Then

46: Set objN = obj1(Trim(Combo1(Index).Text)).Tables

47: Else

48: Set objN = obj2(Trim(Combo1(Index).Text)).Tables

49: End If

50:

51: For Each tbl In objN

52: List1(Index).AddItem tbl.Name

53: Next tbl

54: End Sub

55:

56: Private Sub Command1_Click()

57: Unload Me

58: End Sub

Пример VB-7. Просмотр списков таблиц баз данных двух серверов - student2.ru

Рис. 23.21

Форма для просмотра списков таблиц баз данных двух серверов (в режиме выполнения)

Объекты SQL-DMO можно использовать и из VBA-кода приложений MS Office, в том числе и Access. Все приведенные примеры можно использовать (с некоторыми изменениями) и в Excel, и в Word, и в Access.

Наши рекомендации