Ir al contenido


Foto

[SOLUCIONADO]como mostrar info de tabla en texbox selecionando desde listbox


  • Por favor identifícate para responder
2 respuestas en este tema

#1 novato

novato

    Member

  • Miembros
  • PipPip
  • 35 mensajes

Escrito 04 julio 2013 - 09:00

ANTES DE TODO QIERO DEJARLES LOS ARCHIVOS PARA Q LO REVISEN
http://www.mediafire...fy63yc61q8tzemc

saludos a todos los colegas tengo un problema, tengo esta consulta . no me da ningun error ejecutandolo en sql server2005 todo bien ahi
SELECT     	prod.nomproducto,
prod.cantproducto,
prod.tamproducto,
tp.nomtamprod as tamañoproducto ,
um.nomum as UnidadMedida ,
mk.nombmarca as Marca ,
prod.pc,
prod.pv

FROM        producto as prod,
unidadmedida as um,
marca as mk,
tamprod as tp

where prod.id_marca=mk.id_marca
and
prod.id_cantprodum=um.idum
and
prod.id_tamprodum=tp.idtamprod
                and
                cod_prod='EL CAMPO A BUSCAR'

tengo mi formulario en vbnet2005 donde qiero mostrar los datos de la consulta en las cajas de texto, como ven en la imagen al lado izq tngo un listbox ahi se muestran los codigo de producto cuando yo haga clic en cualqiera de ello, qiero q me llene las cajas de textbox
con esta consulta es facil ,pero en los combo llamado MARCA , CANTIEXISTENCIA,TAMAÑOPRODUCTO, CUANDO YO GUARDO no mando a guardar texto de esos combo sino los ID CORESPONDIENTE, con la siguiente consulta

Dim query As String = "select * from producto where cod_producto ='" & Me.ListBox1.Text & "'"


tambien les muestro el codigo q utilizo en vb
 Private Sub ListBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseClick
        Call Llenar_Textbox()
    End Sub
    '*****************************************************************************************
    Public Sub Llenar_Textbox()
        Dim sqdataadapter As SqlDataAdapter
        Dim datase As DataSet
        Dim cod_producto, nomproducto, id_marca, cantproducto, id_cantprodum, tamproducto, id_tamprodum As String
        Dim pc, pv, x As Integer
        'VARIABLE PARA USAR EN LAS CONSULTAS
        Try
            cnx.Open()
            If cnx.State = ConnectionState.Open Then
                Dim query As String = "select * from producto where cod_producto ='" & Me.ListBox1.Text & "'"

                sqdataadapter = New SqlDataAdapter(query, cnx)
                datase = New DataSet
                sqdataadapter.Fill(datase, "producto")
                For x = 0 To datase.Tables("producto").Rows.Count - 1
                    cod_producto = datase.Tables("producto").Rows(x).Item(1)
                    nomproducto = datase.Tables("producto").Rows(x).Item(2)
                    id_marca = datase.Tables("producto").Rows(x).Item(3)

                    cantproducto = datase.Tables("producto").Rows(x).Item(4)
                    id_cantprodum = datase.Tables("producto").Rows(x).Item(5)

                    tamproducto = datase.Tables("producto").Rows(x).Item(6)
                    id_tamprodum = datase.Tables("producto").Rows(x).Item(7)

                    pc = datase.Tables("producto").Rows(x).Item(8)
                    pv = datase.Tables("producto").Rows(x).Item(9)

                    Me.txtidproducto.Text = (cod_producto)
                    Me.txtnomproducto.Text = (nomproducto)
                    Me.cboid_marca.Text = (id_marca)

                    Me.txtcantproducto.Text = (cantproducto)
                    Me.cboid_cantprodum.Text = (id_cantprodum)

                    Me.txttamproducto.Text = (tamproducto)
                    Me.cboid_tamprodum.Text = (id_tamprodum)

                    Me.txtpc.Text = (pc)
                    Me.txtpv.Text = (pv)
                Next
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
        cnx.Close()
    End Sub


es facil de mostrar los datos en las cajas de textbo y los combobox pero en los combo solo me muestra los ide es por eso que estoy utilizando la consulta de arriba la primera
Imagen Enviada

ahora les muestro la consulta q esta arriba utilanzandola en vbnet2005
 Dim query As String = "SELECT prod.nomproducto,prod.cantproducto,prod.tamproducto,tp.nomtamprod as tamañoproducto,um.nomum as UnidadMedida ,mk.nombmarca as Marca ,prod.pc,prod.pv" & _
                "FROM producto as prod,unidadmedida as um,marca as mk,tamprod as tp" & _
                "where prod.id_marca = mk.id_marca and prod.id_cantprodum = um.idum and prod.id_tamprodum=tp.idtamprod and prod.cod_producto= '" & Me.ListBox1.Text & "'"


y aora les muestro elmensaje de error q me manda al acer clic en el listbox en cualqiera de los codigo de producto
Imagen Enviada

aver si me hechan una ayuda

HE LA CONSULTA EN UNA SOLA FILA Y AHORA M MANDA ESTE MENSAJE
"SELECT 
producto.cod_producto,producto.nomproducto,producto.cantproducto,producto.tamproducto,tamprod.nomtamprod,unidadmedida.nomum,marca.nombmarca,producto.pc,producto.pv FROM producto,unidadmedida,marca,tamprod where (producto.id_marca = marca.id_marca) and (producto.id_cantprodum = unidadmedida.idum) and (producto.id_tamprodum=tamprod.idtamprod) and producto.cod_producto = '" & Me.ListBox1.Text & "'"


PERO AORA ME MANDA ESTE OTRO MENSAJE
Imagen Enviada
  • 0

#2 novato

novato

    Member

  • Miembros
  • PipPip
  • 35 mensajes

Escrito 05 julio 2013 - 12:26

LES AGRADESCO A TODOS AQLLOS Q BRINDARON SU AYUDA Y SU TIEMPO

LES MUESTRO EL ERROR Q TENGO
  For x = 0 To datase.Tables("producto").Rows.Count - 1
                    cod_producto = datase.Tables("producto").Rows(x).Item(1)
                    nomproducto = datase.Tables("producto").Rows(x).Item(2)
                    id_marca = datase.Tables("producto").Rows(x).Item(3)

                    cantproducto = datase.Tables("producto").Rows(x).Item(4)
                    id_cantprodum = datase.Tables("producto").Rows(x).Item(5)

                    tamproducto = datase.Tables("producto").Rows(x).Item(6)
                    id_tamprodum = datase.Tables("producto").Rows(x).Item(7)

                    pc = datase.Tables("producto").Rows(x).Item(8)
                    pv = datase.Tables("producto").Rows(x).Item(9)


EL ERROR Q TENGO ES Q COMIENZO DESDE 1 A CONTAR Y DEBE DE SER DESDE CERO Y ESTO QEDARIA ASI, EN EL CICLO FOR COMIENZA EN CERO Y YO ME ADELANTO UNNUMERO  ES POR ESO Q ME DICE Q NO ENCUNTRA LA ULTIMA COLUMNA
For x = 0 To datase.Tables("producto").Rows.Count - 1
                    cod_producto = datase.Tables("producto").Rows(x).Item(0)
                    nomproducto = datase.Tables("producto").Rows(x).Item(1)
                    id_marca = datase.Tables("producto").Rows(x).Item(2)

                    cantproducto = datase.Tables("producto").Rows(x).Item(3)
                    id_cantprodum = datase.Tables("producto").Rows(x).Item(4)

                    tamproducto = datase.Tables("producto").Rows(x).Item(5)
                    id_tamprodum = datase.Tables("producto").Rows(x).Item(6)

                    pc = datase.Tables("producto").Rows(x).Item(7)
                    pv = datase.Tables("producto").Rows(x).Item(8)


  • 0

#3 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 05 julio 2013 - 12:48

Como siempre es un gusto ayudar y gracias por compartir la solución a la que llegaste.
  • 0