Visual Basic Example of Data Shaping
' This application makes use of Microsoft Hierarchical FlexGrid
' Control, which is named as MSHFLexGrid.
Const SHAPER = "MSDataShape"
Const DP = "SQLOLEDB"
Const DS = "MySQLServer"
Const DB = "Northwind"
Private Sub Form_Load()
FirstExample
End Sub
Private Sub Form_Resize()
MSHFlexGrid.Top = 0
MSHFlexGrid.Left = 0
MSHFlexGrid.Width = Me.ScaleWidth
MSHFlexGrid.Height = Me.ScaleHeight
End Sub
Private Sub FirstExample()
Dim con As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sCmd As String
Set con = New ADODB.Connection
Set rst = New ADODB.Recordset
con.ConnectionString = ConnectionString(SHAPER, DP, DS, DB)
con.Open
sCmd = "SHAPE {SELECT CustomerID, ContactName FROM Customers} " _
& "APPEND ({SELECT OrderID, OrderDate, CustomerID FROM Orders} " _
& "AS chapOrders " _
& "RELATE customerID TO customerID)"
rst.Open sCmd, con, adOpenStatic, 2
Set MSHFlexGrid.Recordset = rst
rst.Close
Set rst = Nothing
con.Close
Set con = Nothing
End Sub
Private Function ConnectionString(pr As String, _
dpr As String, _
dsr As String, _
dbs As String)
Dim s As String
If pr = "" Then
s = "Provider=" & dpr & _
";Data Source=" & dsr & _
";Initial Catalog=" & dbs & _
";Integrated Security=SSPI;"
Else
s = "Provider=" & pr & _
";Data Provider=" & dpr & _
";Data Source=" & dsr & _
";Initial Catalog=" & dbs & _
";Integrated Security=SSPI;"
End If
ConnectionString = s
End Function
Try It!
Create a Visual Basic Standard EXE application project
Select Components from the Project menu in Visual Studio
Select "Microsoft Hierarchical FlexGrid Control 6.0 (OLEDB)" from the Components popup window and then click Save.
Double-click the FlexGrid Control from the ToolBox pane in the Visual Basic workspace. Change the name of this instance to MSHFLEXGRID.
Copy the preceding code and paste it into the Code page to replace any existing code.
Select Start from the Run menu to execute the application.