Getting closer...

This produces A first chance exception of type 'System.IndexOutOfRangeException' occurred in System.Data.dll

Code...

HTML Code:
    Private Sub LoadDataGridViewM()
        Dim ds As New DataSet
        ds.Tables.Add(dt)
        Dim dc0 As New DataColumn("PartNum")
        dt.Columns.Add(dc0)
        Dim dc1 As New DataColumn("PartDesc")
        dt.Columns.Add(dc1)
        Dim dc2 As New DataColumn("TypeCode")
        dt.Columns.Add(dc2)
        Dim dc3 As New DataColumn("UnitPrice")
        dt.Columns.Add(dc3)
        Dim dc4 As New DataColumn("RevisionNum")
        dt.Columns.Add(dc4)
        Dim dc5 As New DataColumn("Approved")
        dt.Columns.Add(dc5)
        Dim dc6 As New DataColumn("Onhandqty")
        dt.Columns.Add(dc6)
        Dim dc7 As New DataColumn("InABOM")
        dt.Columns.Add(dc7)

        Dim dr As DataRow

        For x As Integer = 0 To adoc.GetUpperBound(0)
            dr = ds.Tables(0).NewRow()
            dr.Item(0) = GetRoot(adoc(x))

            Dim abom() As String = GetVantageData(x)
            ReDim abom(7)
            dr.Item(1) = abom(0)
            dr.Item(2) = abom(1)
            dr.Item(3) = abom(2)
            dr.Item(4) = abom(3)
            dr.Item(5) = abom(4)
            dr.Item(6) = abom(5)
            dr.Item(7) = abom(6)

            dt.Rows.Add(dr)

        Next

        dgvFBOM.DataSource = dt

    End Sub
and...


HTML Code:
    Private Function GetVantageData(ByVal index As Integer) As String()
        sql = "SELECT tblPart.PartNum, tblPart.PartDesc, tblPart.TypeCode, tblPart.UnitPrice, tblPartRev.RevisionNum, tblPartRev.Approved, tblPartBin.Onhandqty " & _
              "FROM SharePointProgress.dbo.tblPart " & _
              "LEFT OUTER JOIN SharePointProgress.dbo.tblPartRev ON tblPart.PartNum = tblPartRev.PartNum " & _
              "LEFT OUTER JOIN SharePointProgress.dbo.tblPartBin ON tblPart.PartNum = tblPartBin.PartNum " & _
              "WHERE tblPartRev.Approved = 1 " & _
              "AND tblPart.PartNum = '031770' "
        ' "AND tblPart.PartNum = '" & GetRoot(vb.Left(adoc(index), InStr(adoc(index), ".") + 7)) & "' "

        Debug.WriteLine("sql: " & sql)

        Dim cn_i As New SqlConnection(cn)
        cn_i.Open()
        Dim da As SqlDataAdapter = New SqlDataAdapter(sql, cn_i)
        Dim ds As New DataSet
        Dim dt2 As New DataTable("Table 2")
        ds.Tables.Add(dt2)
        da.Fill(dt2)
        cn_i.Close()

        Debug.WriteLine(dt2.Columns.Count)
        Dim abom2() As String
        ReDim abom2(dt2.Columns.Count - 1)
        For x As Integer = 0 To dt2.Columns.Count - 1
            If String.IsNullOrEmpty(dt.Rows(0)(x)) Then
                abom2(x) = "0"

            Else
                abom2(x) = dt2.Rows(0)(x)

            End If
            Debug.WriteLine("abom2(x): " & abom2(x))

        Next

        Return abom2

    End Function