, . . 23.18 ( ), .
. 23.18
( )
, ( ) | |||
UserForm | Name | Form1 | , . |
Caption | SQL-DMO (6) | . | |
Frame | Name | Frame1 | |
Caption | SQL Server | Combo1. | |
ComboBox | Name | Combo1 | ( ) . |
Frame | Name | Frame2 | |
Caption | Combo2. | ||
ComboBox | Name | Combo2 | ( ) Combo1 . |
CommandButton | Name | Command1 | . |
Caption | |||
Frame | Name | Frame3 | |
Caption | MSFlexGrid1. | ||
MSFlexGrid | MSFlexGrid1 | . |
23.6 , . 23.19 . , , Combo1 ( 1215) ( 17). Combo1_Click ( Combo1.Text) Combo2 ( 2932) ( 34).
Combo2_Click qsq SQLDMO.QueryResults. T-SQL-, .. . 46 T-SQL-, 5152 ExecuteWithResults T-SQL- qsq.
Combo2_Click MSFlexGrid. ( 5867) Name InPrimaryKey obj1(Trim(Combo1.Text)).Tables(Trim(Combo2.Text)).Columns . ( 7482) T-SQL- qsq.GetColumnString .
23.6
1: Dim sqlOb As SQLDMO.SQLServer
2: Dim obj1 As Object
3:
4: Private Sub Form_Load()
5:
6: Set sqlOb = New SQLDMO.SQLServer
7: sqlOb.Connect "VOVA", "Dmitry", "Dmitry"
8:
9: Set obj1 = sqlOb.Databases
10:
11:
12: For Each dbs In obj1
13: Combo1.AddItem dbs.Name
14: Combo1.Text = dbs.Name
|
|
15: Next dbs
16:
17: Combo1_Click
18:
19: End Sub
20:
21: Private Sub Combo1_Click()
22: ' ' SQL Server'
23: ' Combo2 Combo1
24:
25: Frame2.Caption = " '" & Trim(Combo1.Text) & "'"
26:
27: Combo2.Clear
28:
29: For Each tbl In obj1(Trim(Combo1.Text)).Tables
30: Combo2.AddItem tbl.Name
31: Combo2.Text = tbl.Name
32: Next tbl
33:
34: Combo2_Click
35:
36: End Sub
37:
38: Private Sub Combo2_Click()
39: ' ''
40: '
41:
42: Dim qsq As SQLDMO.QueryResults
43:
44: MSFlexGrid1.Clear
45:
46: Frame3.Caption = " '" & Trim(Combo2.Text) & "'"
47:
48: sql_query = "SELECT * FROM " & Trim(Combo2.Text)
49:
50:
51: Set qsq = _
52: sqlOb.Databases(Trim(Combo1.Text)).ExecuteWithResults(sql_query)
53:
54: MSFlexGrid1.Cols = qsq.Columns + 1
55:
56:
57: ' :
58: MSFlexGrid1.Row = 0 '
59: i = 1
60: For Each colu In _
61: obj1(Trim(Combo1.Text)).Tables(Trim(Combo2.Text)).Columns
62:
63: addText = colu.Name
64: If colu.InPrimaryKey Then addText = addText & " (primary key)"
65:
66: MSFlexGrid1.Col = i '
67: MSFlexGrid1.Text = addText '
68:
69: i = i + 1
70:
71: Next colu
72:
73: ' :
74: For i = 1 To qsq.Rows
75: ss = ""
76: For j = 1 To qsq.Columns
77: ss = ss & vbTab & qsq.GetColumnString(i, j)
78: Next
79:
80: MSFlexGrid1.AddItem ss
81:
82: Next
83:
84: End Sub
85:
86: Private Sub Command1_Click()
87: Unload Me
88: End Sub
. 23.19
( )