Buenas tardes compañeros mi inquietud es la siguiente tengo 5 ComboBox que los llenos con unos datos de mi BD, la cues tion es que el usuario puede hacer consultas con cualquiera de los datos de los 5 combobox, los ComboBox estan en un Tabcontrol. lo que estoy tratando de plantear para realizar la consulta multiple sea por uno o por los cinco criterios(ComboBox) es la siguiente:
Porque no reconoce los controles que se encuentran en un TabControl??? como sería la forma de recorrer estos controles????.
Agradesco sus respuestas al respecto.
Saludos y Gracias.
Código:
De esta manera armo mi criterio de consulta y lo paso a mi función ConsultaOP y posteriormente mandar los resultados a un DataGridView , pero tengo dos incovenientes al estar los combox dentro de un TabControl no los esta reconociendo, coloque un ComboBox por fuera del Tabcontrol y si lo reconoce o acepta su parametro en este caso en la propiedad Tag de cada ComBoBox le pongo el nombre del campo de mi tabla conforme quiero que se vaya armando la consulta, el segundo problema es que mi consulta la debo hacer con el datos que me daCType(cControl, System.Windows.Forms.ComboBox).SelectedValue, es decir en mi combo se visualiza una opción Flujo Completo -> Cuyo Valor es 2, por el cual deseo que se vaya armando la consulta, pero me arroja un error que dice que no se puede convertir del tipo Stirng a Tipo Double, lo plantee de esta manera ya que lei que la variable cControl es del tipo Control la cual no tiene la propiedad SelectedValue, lo que se haría sería convertir el tipo de la Variable, pero aún así me arroja el error.Dim cControl As Control, cCriterio As String = "" For Each cControl In Me.Controls If (TypeOf cControl Is System.Windows.Forms.ComboBox) Then If cControl.Tag = "codigo_linea" Or cControl.Tag = "sector" Or cControl.Tag = "codigo_planta" Or cControl.Tag = "codigo_filtra" Or cControl.Tag = "codigo_tipo" Then cCriterio = cCriterio + cControl.Tag + " = " + CType(cControl, System.Windows.Forms.ComboBox).SelectedValue + " AND " End If End If Next cCriterio = Mid(cCriterio, 1, cCriterio.Length - 4) MessageBox.Show(cCriterio) If ConsultaOP("rs.unidad,rs.equivalente,rs.codigo_comodidad,rs.cliente,rs.pais,rs.codigo_linea,rs.sector,rs.codigo_planta,rs.codigo_filtra,rs.codigo_tipo,SUBSTRING(rs.codigo_comodidad,7,1) AS Comodin, SUBSTRING(rs.codigo_comodidad,8,3) AS Consecutivo,rd.valor1 AS DIAMETRO, rd.valor3 AS ALTURA, rd.valor2 AS ROSCA, CASE WHEN rd.valor6 = 1 THEN 'SI' ELSE 'NO' END AS TUERCA, CASE WHEN rd.valor7 = 1 THEN 'SI' ELSE 'NO' END AS DRAING, CASE WHEN valor9 = 1 THEN 'SI' ELSE 'NO' END AS VALVULA_ANTIDRENAJE, CASE WHEN valor8 = 1 THEN '8 a 11' WHEN valor8 = 2 THEN '17 a 19' WHEN valor8 = 3 THEN '20' WHEN rd.valor8 = 4 THEN '30' END AS VALVULA_ALIVIO, CASE WHEN rd.valor11 = 1 THEN 'SI' ELSE 'NO' END AS SELLO_CENTRAL", "PM_Refe_Spects AS rs INNER JOIN PM_Refe_Details AS rd ON rs.unidad = rd.Unidad", cCriterio, Registro, "Unidad") Then Me.rbmultiple.DataSource = Sdatatable End If
Porque no reconoce los controles que se encuentran en un TabControl??? como sería la forma de recorrer estos controles????.
Agradesco sus respuestas al respecto.
Saludos y Gracias.