![]() |
Problema con combobox y selectedvalue Hola a todos, tengo el siguiente problema, en un formulario utilizo varios combobox que se cargan uno dependiente de otro. El problema lo tengo en este apartado donde cargo el cliente en función de la obra y el cliente, lo que quiero es seleccionar el idcliente, pero me da el siguiente error: " La conversión del tipo 'DataRowView' en el tipo 'Integer' no es válida." Private Sub cbObra_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbObra.SelectedIndexChanged Dim idobra As String idobra = (Me.cbObra.SelectedValue) MsgBox(idobra) ' dsClientes.Clear() 'daClientes.SelectCommand.CommandText = ("SELECT * FROM CLIENTES INNER JOIN OBRAS ON OBRAS.IDCLIENTE=CLIENTES.IDCLIENTE WHERE OBRAS.IDOBRA=" + idobra + "") Dim adaptador As OleDbDataAdapter = New OleDbDataAdapter("SELECT * FROM CLIENTES INNER JOIN OBRAS ON OBRAS.IDCLIENTE=CLIENTES.IDCLIENTE WHERE OBRAS.IDOBRA=" + idobra + "", MiConexion) Dim dataset As New DataSet adaptador.Fill(dataset) cbClientes.DisplayMember = "NOMBRECLIENTE" cbClientes.ValueMember = "IDCLIENTE" cbClientes.DataSource = dataset.Tables(0) End Sub Como puedo corregir esto? |
Re: Problema con combobox y selectedvalue Mira a ver si los datos de las tablas concuerdan, no solo en la base de datos que estes usando sino del dataset designer. |
Re: Problema con combobox y selectedvalue Los datos concuerdan |
Re: Problema con combobox y selectedvalue Amplío un poco más Tengo varias tablas relacionadas CLIENTES: Idclientes, etc OBRAS: IdObra,IdCliente TARIFA:IdTarifa,IdObra En un formulario de entrada tengo un combobox cbObras que lo lleno de la siguiente forma: Try daObra.Fill(dsObra) cbObra.DisplayMember = "NOMBREOBRA" cbObra.ValueMember = "IDOBRA" cbObra.DataSource = dsObra.Tables(0) Catch ex As Exception Me.Text = ex.Message End Try En el evento: Private Sub cbObra_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbObra.SelectedIndexChanged Dim idobra As String idobra = (Me.cbObra.SelectedValue) MsgBox(idobra) dsClientes.Clear() daClientes.SelectCommand.CommandText = ("SELECT * FROM CLIENTES INNER JOIN OBRAS ON OBRAS.IDCLIENTE=CLIENTES.IDCLIENTE WHERE OBRAS.IDOBRA=" + idobra + "") daClientes.Fill(dsClientes) cbClientes.DisplayMember = "NOMBRECLIENTE" cbClientes.ValueMember = "IDCLIENTE" cbClientes.DataSource = dsClientes.Tables(0) End Sub lleno el segundo combobox en función del primero, hasta aquí todo bien, pero cuando quiero actualizar la base de datos access con el IdCliente ,de esta forma: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Dim sqlString As String ' sqlString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\FACTURACION\FACTURACION.MDB" ' Dim MiConexion As OleDbConnection ' MiConexion = New OleDbConnection(sqlString) ' MiConexion.Open() Dim dsClientes As New DataSet Dim daClientes As New OleDbDataAdapter("SELECT * FROM CLIENTES", MiConexion) Dim dsTarifa As New DataSet Dim daTarifa As New OleDbDataAdapter("SELECT * FROM TARIFAPROVEEDOR", MiConexion) Dim daObra As New OleDbDataAdapter("SELECT * FROM OBRAS", MiConexion) Dim dsObra As New DataSet Dim cmdBuilderDAD As New OleDbCommandBuilder(daTarifa) Dim dt As New DataTable daTarifa.Fill(dt) Dim dr As DataRow = dt.NewRow() dr("Descripcion") = Me.txtDestino.Text dr("Unidad") = Me.txtUnidad.Text dr("Precio") = Me.txtPrecio.Text dr("Descripcion") = Me.txtDestino.Text dr("Unidad") = Me.txtUnidad.Text dr("Precio") = Me.txtPrecio.Text dr("IdCliente") = cbClientes.SelectedValue dt.Rows.Add(dr) daTarifa.Update(dt) dt.AcceptChanges() MiConexion.Close() end sub me da el siguiente error: No se puede convertir un objeto de tipo 'System.Data.DataRowView' al tipo 'System.IConvertible'.No se puede almacenar <System.Data.DataRowView> en la columna IdCliente. El tipo esperado es Int32. He probado también lo siguiente: dr("IdCliente")= Cstr(me.cbClientes.SelectedValue) y me da este otro error La conversión del tipo 'DataRowView' en el tipo 'String' no es válida. |
Re: Problema con combobox y selectedvalue Hola les dire que soy nuevo en le foro..... Haber si me ayudan... Yo tengo el mismo problema ... Estoy programando en c#.net .... Se que el error esta en el SelectedIndexChange del combo1... creo que no se carga los datos en el momento de iniciar la aplicación ..para poder enviar los parámetros al combo2.... . Alguien me puede ayudar con la solución Saludos |
| La zona horaria es GMT -6. Ahora son las 22:06. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.