none
Problemas con Items de combobox RRS feed

  • Pregunta

  • Tengo una base de datos con una tabla llamada fichas que consta de los siguientes campos: ID, Año, Serie, Establecimiento, Cantidad, Categoria, Subcategoria y Estado. Estas 3 últimas están vinculadas a unas tablas cada una con 2 campos ID y Nombre. El problema es el siguiente, resulta que tengo programado un botón al lado de los combobox de categoría, subcategoria y estado que me abre un nuevo form en el cual tengo un bindingnavigator, un datagridview y 2 textbox donde me pone los 2 campos de la tabla ID y Nombre. La cosa es que este form es para añadir nuevos elementos al combobox pero no sé cómo hacerlo.

    El problema es que cuando doy al boton nuevo registro del bindingnavigator en el textbox del ID me sale -1 y en datagridview tambien en vez del numero que corresponderia al último registro+1 (es decir si el último es 12 deberia poner 13) y al guardar el registro  cuando vuelve a la pantalla principal no queda reflejado en el combobox de la pantalla inicial

    miércoles, 18 de julio de 2012 19:31

Todas las respuestas

  • Lo del -1 en ID esta solucionado edito el datasedt con el diseñador me posiciono sobre ID y en propiedades cambio AutoIncrementSeed de -1 a 0 y en AutoIncrementStep de -1 a 1.

    Ahora solo me queda el problema para que se guarde este nuevo item en la BD y quede reflejado en el combobox de la pagina inicial del programa

    jueves, 19 de julio de 2012 11:02
  • como llenas con informacion el combobox?

    tenemos opciones

    1 pregunta : los datos que ingresan el se guardan en tu tabla?

    si la respuesta es si, entonces al cerrar tu form donde ingresas nuevos datos, ( yo lleno mi combos con un metodo que hace mi consulta a mi tabla etc.) llamas a tu metodo que te carga los datos de tu combobox nuevamente y te debe salir la informacion actualizada. si la respuesta te fue de utilidad o te sirvio para resolver tu problema marcala como util o como respuesta , saludos

    jueves, 19 de julio de 2012 21:12
  • Uso elementos enlazados a datos, asi es como los lleno de información.

    Si los datos que ingreso en el combobox quedan guardados en mi BD. Lo que no consiguo es añadir nuevos items al combobox. Para ello creo otro form que tiene acceso mediante un boton llamado editar y al pulsar en el me muestra los siguientes elementos: bindingnavigator, 2 texbox y un datagridview. Pero no consiguo que se guarden en la BD, cuando de doy a guardar en el boton el bindingnavigator me dice que el indice o la clave principal no puede contener un valor null

    viernes, 20 de julio de 2012 7:39
  • no he trabajado con binding navigator, podrias subir una imagen de tu form donde insertas y el codigo con el que insertas a tu bd? el mensaje de error significa que un campo que obligatoriamente tiene que llevar campos esta vacio saludos

    segun yo entiendo esto, abres tu form2 tienes 2 textbox alli pones la clave y nombre y le das al boton insertar correcto? y alli sale el error

    saludos

    viernes, 20 de julio de 2012 13:50
  • Exactamente. Este es el código para guardar nuevos registros a la base de datos:

     Private Sub GuardarToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GuardarToolStripButton.Click
            Try
                Me.Validate()
                Me.CategoriaBindingSource.EndEdit()
                Me.CategoriaTableAdapter.Update(Me.Base_de_datosDataSet.Categoria)
                MsgBox("Actualización realizada", MsgBoxStyle.Information, "Actualización")
    
            Catch ex As Exception
                MsgBox("Actualización fallida", MsgBoxStyle.Information, "Error")
            End Try
    
        End Sub

    sábado, 21 de julio de 2012 14:31
  • si le quitas el mensaje de actualizacion fallida te sale esto no? el indice o la clave principal no puede contener un valor null, como te comento no he trabajado con binding pero tengo una teoria, en ese datagrid quitale la opcion de edicion, por que al final hay siempre una celda vacia me imagino que ese puede ser el error de que el campo es vacion intentalo para descartar que sea eso,  aqui te dejo un ejemplon que es parecido al tuyo pero con algunos detalles ejemplo intenta esto que te menciono y nos cuentas saludos

    checa la pagina 90 del ejemplo

    sábado, 21 de julio de 2012 20:41
  • He comprobado a quitar la opcion de editar en el datagridview y me sigue saliendo el mismo fallo. Si en los 2 textbox que hay en el ID y nombre esta llenos no se porque dice lo del valor null
    sábado, 21 de julio de 2012 22:31
  • segun veo tu guardas los datos que estan en los textbox ... yo pense editabas la info en el datagrid y los datos del datagrid quieres guardar, no se sie estoy mal pero en tu codigo no veo que mandes a llamar a update para que tome los datos de tus textbox, no lo veo. seria que pongas los datos que estan en los texbox y actualizar, de alli el error por que no mandas nada para actualizar (segun yo si estoy mal corrigeme, igual no he trabajado con binding, pero es lo que veo) haz intentado actualizar por medio de un boton con instruccion sql? es mas sencillo y te sugiero que depures tu codigo paso a paso te aseguro que asi encontraras tu error por que el metodo para guardar es correcto

    lunes, 23 de julio de 2012 1:35
  • Nada aun no he dado con la solución me sigue fallando. No entiendo como me dice que lo del valor null si yo meto todos los datos.
    miércoles, 25 de julio de 2012 7:43
  • pero que datos denesitas actualizar los del grid o los que estan en el textbox?
    Try
                Me.Validate()
                Me.CategoriaBindingSource.EndEdit()
                Me.CategoriaTableAdapter.Update(Me.Base_de_datosDataSet.Categoria)
                MsgBox("Actualización realizada", MsgBoxStyle.Information, "Actualización")

            Catch ex As Exception
                MsgBox("Actualización fallida", MsgBoxStyle.Information, "Error")
            End Try

     este codigo segun veo actualiza el grid por eso te pregunto que nesesitas actualizar? datos grid o datos textbox

    miércoles, 25 de julio de 2012 19:44
  • aqui hay una respuesta satisfactoria de un compañero del foro, si quieres lo de actualizar esos 2 text box es mas facil con la consulta sql aqui te dejo el link hechale ojo

    posible solucion

    miércoles, 25 de julio de 2012 19:55