Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Problema con combobox y selectedvalue

Estas en el tema de Problema con combobox y selectedvalue en el foro de Visual Basic clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 21/04/2008, 12:36
 
Fecha de Ingreso: abril-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
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?
  #2 (permalink)  
Antiguo 22/04/2008, 01:14
 
Fecha de Ingreso: abril-2008
Mensajes: 20
Antigüedad: 16 años
Puntos: 1
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.
  #3 (permalink)  
Antiguo 22/04/2008, 01:25
 
Fecha de Ingreso: abril-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Re: Problema con combobox y selectedvalue

Los datos concuerdan
  #4 (permalink)  
Antiguo 22/04/2008, 01:28
 
Fecha de Ingreso: abril-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
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.
  #5 (permalink)  
Antiguo 07/10/2008, 09:14
fercho0609
Invitado
 
Mensajes: n/a
Puntos:
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

Última edición por fercho0609; 15/10/2015 a las 09:47
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:52.