none
como hacer para que al seleccionar un item de un combobox ejecute una consulta sin dar ningun otro click mas que al algo en el combobox RRS feed

  • Pregunta

  • hola que tal, paso por aqui para preguntarles como es que al seleccionar un item de un combobox pueda continuar con lo que sigue jeje... mas a detalle, estoy diseñando un sistema en vb2008 y utilizo mysql para la base de datos. pues bien, el objetivo de mi form es poder ingresar pzas al sistema, el detalle aqui es que tengo unas relaciones de muchos a muchos, mis tablas son partes, clientes, especificaciones y la que los une son clientespartesespedicicaciones... pues bien, para que una parte pueda existir, siempre existira su o sus respectivas especificaciones, pero una especificacion puede pertenecer a mas de una pza; igual con los clientes, a un cliente se le pueden fabricar varias pzas, pero una pza puede ser fabricada para varios clientes..... bueno, entonces, para ingresar las pzas (una vez ingresados los datos necesarios en textboxs) y generar sus respectivas relaciones, pues primero comienzo preguntando si la pza que desea ingresar a la base de datos no existe, si no existe, pues se ingresa a la tabla de partes y recupero si id para poderlo utilizar posteriormente para usarlo en la tabla puente... si ya existe pregunto si deseo vincularla con un cliente, de ser asi voy y traigo el index seleccionado en mi combo clientes y vuelvo a preguntar, ese cliente ya tiene esa pza?, si no pues prosigo y recupero el id correspondiente de ese cliente seleccionado... pero si si, es en donde ya no me queda muy claro como continuar....

    hasta ahorita, despues de ir a revisar si ya existe esa pza con ese cliente, mando mensaje y pregunto si desea vincularla con otro cliente, "limpio" el combo y le doy el foco para que el usuario pueda elegir otro cliente (en dado caso de que sea vbyes), entonces es aqui donde quiero que al momento de hacer una seleccion en el combo (con el mouse) vaya nuevamente a validar... pero no se como.... si me pudieran orientar o sugerir como manejar esto se los agradeceria mucho :)

    pd todas estas comparaciones/validaciones las realizo en el boton de guardar


    • Editado SofyBoop viernes, 19 de diciembre de 2014 21:25
    • Cambiado Enrique M. Montejo viernes, 26 de diciembre de 2014 7:58 Pregunta relacionada con controles de Windows Forms.
    viernes, 19 de diciembre de 2014 20:40

Todas las respuestas

  • SofyBoop,

    Lo que puedo entender de tu explicación parece ser breve y simple. Lo que necesitas es detectar cuando un elemento de tu combobox cambia o es seleccionado. Para ello debes detectar cuando se desencadena el evento SelectionChangeCommitted (Tiene lugar cuando se selecciona un elemento de la lista desplegable y esté se cierra)

    private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)
    {
      MessageBox.Show(comboBox1.Text);
      /*COLOCAR CÓDIGO DESEADO*/
    }
    __________________________________________________________________________________________________
    Espero haberte ayudado con mi sugerencia, si resolvió tu problema no olvides marcarla como respuesta.

    Willams Morales P.
    Arequipa - Perú

    viernes, 19 de diciembre de 2014 22:16
  • Willams Morales P

    pues digamos que si es sencillo, pero es que no se como llevarlo a cabo (o mas bien desde donde), es decir, los datos se llenan, el txtnumpza, txtpieza, cboclientes etc.... "una sola vez".... luego, cuando ya todos los campos son llenados por el usuario, él da click en el boton guardar, entonces, en el evento click del bntguardarNvo es en donde valido todo... para empezar que los controles sean <>"" y luego las comparaciones con la base de datos... si ya existe la pieza, pregunta si desea vincularla con un cliente, si vbyes pues debe regresar al combo.... entonces, alli es donde me pierdo jiji... tal vez me este ahogando en un vaso de agua, pero es que llego alli y me siento perdida :(

    viernes, 19 de diciembre de 2014 22:31
  • Ya me confundí. A ver Sofy, vamos por partes:

    Tienes en un form entre otros controles txtNumPieza, txtPieza y cboClientes. Al guardar y validar que ya existe la pieza pregunta si deseas vincularla a algún cliente... No entiendo que seleccionaste entonces en cboCliente, o que sentido tiene ese control antes de Guardar. Si puedes ayudarme con un printscreen de tu formulario quizá ayude para resolver juntos este problema a la brevedad.

    viernes, 19 de diciembre de 2014 22:40
  • es que pudiera estar ya la pza en mi tabla de pzas.... x eso primero veo si ya existe en la tabla, si existe, entonces pregunto si desea vincular la pza con un cliente..... de no existir ps no pregunto nada y guardo todo con los respectivos campos en sus respectivas tablas con sus respectivas relaciones, pero para esto el usuario ya lleno todos los campo... si dio clik en si, entonces verifica que esa pza no este vinculada con ese cliente que ya tiene elegido en el combo, si no esta vinculada, igual grada todo y no hay problema, si ya existe ese vinculo vuelve a preguntar si desea vincularla con otro cliente, sino, ps termina y no se realiza nada; si si, pues regresa el foco al combo y es alli donde ya no supe que mas 
    viernes, 19 de diciembre de 2014 22:59
  • De acuerdo con todo lo que mencionas, pero no entiendo cuál es el problema.

    Si la pieza existe y el cliente seleccionado ya tiene la relación con la pieza entonces deberías guardar de todas formas con la diferencia de que la relación con el cliente no la persistirás porque ya existe. Porque preguntar si desea vincular con otro cliente? Si el usuario quisiera hacer eso, antes de guardar hubiese seleccionado otro cliente.

    __________________________________________________________________________________________________
    Espero haberte ayudado con mi sugerencia, si resolvió tu problema no olvides marcarla como respuesta.

    Willams Morales P.
    Arequipa - Perú

    viernes, 19 de diciembre de 2014 23:07
  • pues es que me gustaria tomar en cuenta cualquier posibilidad, xke como ya habia comentado, la relacion en m:m si ya existe la relacion con el cliente que ingreso desde el principio, pudiera simplemente mandar un mensaje para avisarle que ya existe dicha relacion y cancelar todo, pero pudiese ser que de entre tantos clientes pudiera haberse equivocado x eso vuelvo a preguntar si desea que se relacione esa pza con otro cliente
    viernes, 19 de diciembre de 2014 23:11
  • si dio clik en si, entonces verifica que esa pza no este vinculada con ese cliente que ya tiene elegido en el combo, si no esta vinculada, igual grada todo y no hay problema, si ya existe ese vinculo vuelve a preguntar si desea vincularla con otro cliente, sino, ps termina y no se realiza nada; si si, pues regresa el foco al combo y es alli donde ya no supe que mas.

    Lo que no entiendo es porque insistes en preguntar si desea el usuario vincularlo con otro cliente, no tiene sentido. Es como que quisieras preguntar si esta seguro de lo que puso en txtNumeroPieza o si está seguro de lo que ingreso en txtPieza.

    A menos que yo no esté viendo algo que tu si puedes notarlo y yo aún no lo entiendo, creo que no hay problema.


    viernes, 19 de diciembre de 2014 23:28
  • bueno, esta bien.....

    ya se que por tema se debe de generar las preguntas.... y con esta me salgo mucho de la que ya estuve redundando... pero, me podrias indicar como recupero un valor d un campo:

    strMySQL = "SELECT * FROM piezas WHERE numPieza=" & " '" & txtNumPieza.Text & "'"
                tmpDS = getTable(strMySQL)
                If tmpDS.Tables(0).Rows.Count <> 0 Then

    como puedo asignarle a intNumPieza el valor que contiene idPieza si el if se cumple???

    sábado, 20 de diciembre de 2014 0:12