Buenas tardes compañeros despues de dar muchas vueltas al asunto lo pude solucionar de la siguiente forma la verdad no se si será la mas adecuada pero lo importante fue que lo puede solucionar, la función quedo de esta forma
Código:
Public Function Ejecutar_S(ByVal cScriptSQL As String, ByVal Obj As TextBox) As String
Dim Activo As Boolean
Dim A As String = ""
If cScriptSQL <> vbNullString Then
Conexion.Open()
Comando = New Odbc.OdbcCommand(cScriptSQL, Conexion)
Try
Lector = Comando.ExecuteReader()
While Lector.Read
A = Lector(0).ToString
Obj.Text = Trim(Obj.Text) + Trim(A) + ","
End While
Conexion.Close()
Activo = True
Catch ex As Exception
MessageBox.Show("Error al ejecutar el script SQL:" & vbCrLf & ex.Message)
Activo = False
End Try
End If
Return Activo
End Function
le ubique un segundo parametro que sería mi objeto de texto donde voy a rescatar los datos, y la forma de ejecución de la misma sería así:
Código:
Ejecutar_S("WITH MExplosion (PARPRT_02, COMPRT_02, nivel, Referencia) AS (SELECT r.PARPRT_02, r.COMPRT_02,0 AS nivel, PARPRT_02 as Referencia FROM Product_Structure as r UNION ALL SELECT r.PARPRT_02, r.COMPRT_02, nivel + 1, Referencia FROM Product_Structure as r INNER JOIN MExplosion AS d ON r.PARPRT_02 = d.COMPRT_02) SELECT Referencia, COMPRT_02, nivel, PMDES1_01 FROM MExplosion INNER JOIN Part_Master ON MExplosion.COMPRT_02 = Part_Master.PRTNUM_01 INNER JOIN Part_Sales ON Part_Sales.PRTNUM_29 = Referencia WHERE COMPRT_02 LIKE '" & Me.partes.SelectedRows(0).Cells(0).Value.ToString & "'", Me.usos)
Así de esta forma pude listar los resultados y la aplicación no se colgó, muchas gracias a las personas que colaboraron con sus comentarios.
Saludos.