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

Dudas con combobox

Estas en el tema de Dudas con combobox en el foro de Visual Basic clásico en Foros del Web. Tengo un formulario tarifas en el que al introducir la obra cargo otro combo con el cliente, pero a la hora de guardar me da ...
  #1 (permalink)  
Antiguo 30/05/2008, 05:41
 
Fecha de Ingreso: abril-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Dudas con combobox

Tengo un formulario tarifas en el que al introducir la obra cargo otro combo
con el cliente, pero a la hora de guardar 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.

EL código que utilizo es el siguiente:


Private Sub TARIFAS_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Try
daObra.Fill(dsObra)
cbObra.DisplayMember = "NOMBREOBRA"
cbObra.ValueMember = "IDOBRA"
cbObra.DataSource = dsObra.Tables(0)
cbObra.Text = ""
cbClientes.Text = ""

Catch ex As Exception
Me.Text = ex.Message

End Try


End Sub



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

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

El error se produce en esta línea

dr("IdCliente") = Me.cbClientes.SelectedValue

dr("IdObra") = Me.cbObra.SelectedValue

dt.Rows.Add(dr)
daTarifa.Update(dt)
dt.AcceptChanges()
MiConexion.Close()
Me.cbClientes.Text = ""
Me.cbObra.Text = ""
Me.cbObra.Focus()
Me.txtDestino.Text = ""
Me.txtUnidad.Text = ""
Me.txtPrecio.Text = ""


End Sub


Private Sub cbObra_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles cbObra.SelectedIndexChanged
MiConexion.Close()

dsClientes.Clear()
daClientes.SelectCommand.CommandText = ("SELECT * FROM CLIENTES
INNER JOIN OBRAS ON OBRAS.IDCLIENTE=CLIENTES.IDCLIENTE WHERE OBRAS.IDOBRA=" &
cbObra.SelectedValue & "")
daClientes.Fill(dsClientes)
cbClientes.DisplayMember = "NOMBRECLIENTE"
cbClientes.ValueMember = "IDCLIENTE"
cbClientes.DataSource = dsClientes.Tables(0)



End Sub

Que es lo que tengo mal?
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 23:15.