--- title: "Visual Basic Example of Data Shaping | Microsoft Docs" ms.prod: sql ms.prod_service: connectivity ms.technology: connectivity ms.custom: "" ms.date: "01/19/2017" ms.reviewer: "" ms.topic: conceptual dev_langs: - "VB" helpviewer_keywords: - "Visual Basic example of data shaping[ADO], about data shaping" ms.assetid: d95dd499-19e2-4ce7-b16e-f56a04a9519c author: MightyPen ms.author: genemi --- # 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! 1. Create a Visual Basic Standard EXE application project 2. Select **Components** from the **Project** menu in Visual Studio 3. Select "Microsoft Hierarchical FlexGrid Control 6.0 (OLEDB)" from the **Components** popup window and then click **Save**. 4. Double-click the FlexGrid Control from the ToolBox pane in the Visual Basic workspace. Change the name of this instance to MSHFLEXGRID. 5. Copy the preceding code and paste it into the **Code** page to replace any existing code. 6. Select **Start** from the **Run** menu to execute the application.