Saltar al contenido principal

 none
Pasar Valor de una celda de un DatagridView a un TextBox RRS feed

  • Pregunta

  • Buenas tardes a todos,

    Requiero de su amable ayuda, estoy trabajando en un pequeño programita de auditoria  en Lenguaje Vb. Net y Acces, tengo el siguiente cuadro.

    Como ustedes pueden ver cada vez que palomeo o activo un CHEK de la celda el valor que esta en PESO se me suma en un textbox, hasta ahi todo bien, ahora en mi base de datos he nombrado cada columna.

    que corresponde a cada uno de los parametros, lo que necesito su ayuda es como hago para que se guarden todos los valores de cada checkbox en mi base de datos de acces, es decir si di un check en la primer celda se guarde en P1, la segunda celda corresponde al P2, y asi sucesivamente, o que a su vez cuando de clic en el primer parámetro ese valor pase a un texbox (TxtP1.text) igualmente con la misma logica  Segundo parametro TxtP2.Text ... etc.

    No se si pude explicarme bien, gracias por su tiempo a esta pregunta,





    • Editado da7nny jueves, 14 de noviembre de 2019 20:11
    jueves, 14 de noviembre de 2019 19:58

Respuestas

  • puedes guardar la consulta en una variable y despues llamar a la variable en el consulta para que se inserte yo hago esto

    realizo una consulta y los datos los llamo en una etiqueta.

      try
                {
                    con.Open();
                    string query =  "SELECT CONVERT(float, round((sum (DUAP) / count (distinct month (FECHA))), 2, 1)) as MES from TOOL_CHANGE_INJECTION where UAP = 'UAP1'";
                    string query2 = "SELECT CONVERT(float, round((sum (DUAP) / count (distinct month (FECHA))), 2, 1)) as MES from TOOL_CHANGE_INJECTION where UAP = 'UAP2'";
                    SqlCommand cmd1 = new SqlCommand(query, con);
                    SqlCommand cmd2 = new SqlCommand(query2, con);
                    label7.Text = Convert.ToString(cmd1.ExecuteScalar()+" %");
                    label9.Text = Convert.ToString(cmd2.ExecuteScalar()+" %");
                    con.Close();
                }
                catch (SqlException ex)
                {
                    MessageBox.Show("Error al conectar sql" + ex.Message, "Error al conectar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                return;

    Espero te sirva de ayuda, puedes jugar con los valores acomodarlos como tu quieras tambien tengo uno donde al hacer doble clic en una fila de un dtgridview   me llame los valores a una etiqueta o si tu quieres lo puedes adaptar a variables

    como este:

     if (Reliminar.Checked == true)
                {
                    DataGridViewRow fila = DgvEquipo.CurrentRow;

                    if (fila == null)
                        return;
                    idequipo.Text = fila.Cells["id_equipo"].Value.ToString();
                    label18.Text = fila.Cells["nombre_equipo"].Value.ToString();
                }
                else if (rbmodificar.Checked == true)
                {
                    DataGridViewRow fila = DgvEquipo.CurrentRow;
                    if (fila == null)
                        return;

                    modelo.Text = fila.Cells["modelo"].Value.ToString();
                    marca.Text = fila.Cells["marca"].Value.ToString();
                    ns.Text = fila.Cells["num_serie"].Value.ToString();
                    nombreEquipo.Text = fila.Cells["nombre_equipo"].Value.ToString();
                }

    espero estas te puedan ayudar.

    • Propuesto como respuesta Pablo Rubio viernes, 15 de noviembre de 2019 16:00
    • Marcado como respuesta da7nny viernes, 15 de noviembre de 2019 20:39
    jueves, 14 de noviembre de 2019 22:59

Todas las respuestas

  • Deberias nombrar la columna en la base de datos como tipo boleana y cargar el valor por defecto de la columna del datagridview esto te daría como resultado True o False y recuperar así el vaor

    Saludos


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗ pfannkuche2000@yahoo.com.ar

    • Propuesto como respuesta Pablo Rubio viernes, 15 de noviembre de 2019 16:00
    jueves, 14 de noviembre de 2019 20:04
  • Es correcto, entiendo como deberia ser el procedimiento, sin embargo, no tengo clara como seria la programación, me puedes dar una referencia pls.
    jueves, 14 de noviembre de 2019 20:06
  • Bueno el caso es que declares un campo de tu base de datos (columna) como Bit y a esta de a cuerdo con el valor de el check pasar 0 o 1 verdadero o falso, como lo presentas dices que declaras dos campos para esto, eso sería un error de concepto para una base de dato "no dejar espacios en blanco" con que con una sola columna alcanzaría para lo que requieres esta cargaria valores 0 y 1. Fijate en tu tabla en el Form imagina la base de dato tal cual ¿como quedaría si agregas otra columna para los check que están desmarcados? Deberíams ver que utilizas para recuperar el valor desde la base de datos, suponinedo que uses DataAdapter y luego DataTable esta data table deberá tener un campo Bolean y al recuperar el campo bit de la base de datos será convertido en verdadero o falso y así se colocará en tu Form Te dejo otra consulta que aclara mejor el tema

    Guardar valores tipo veradero falso


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗ pfannkuche2000@yahoo.com.ar

    • Propuesto como respuesta Pablo Rubio viernes, 15 de noviembre de 2019 16:00
    jueves, 14 de noviembre de 2019 22:27
  • puedes guardar la consulta en una variable y despues llamar a la variable en el consulta para que se inserte yo hago esto

    realizo una consulta y los datos los llamo en una etiqueta.

      try
                {
                    con.Open();
                    string query =  "SELECT CONVERT(float, round((sum (DUAP) / count (distinct month (FECHA))), 2, 1)) as MES from TOOL_CHANGE_INJECTION where UAP = 'UAP1'";
                    string query2 = "SELECT CONVERT(float, round((sum (DUAP) / count (distinct month (FECHA))), 2, 1)) as MES from TOOL_CHANGE_INJECTION where UAP = 'UAP2'";
                    SqlCommand cmd1 = new SqlCommand(query, con);
                    SqlCommand cmd2 = new SqlCommand(query2, con);
                    label7.Text = Convert.ToString(cmd1.ExecuteScalar()+" %");
                    label9.Text = Convert.ToString(cmd2.ExecuteScalar()+" %");
                    con.Close();
                }
                catch (SqlException ex)
                {
                    MessageBox.Show("Error al conectar sql" + ex.Message, "Error al conectar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                return;

    Espero te sirva de ayuda, puedes jugar con los valores acomodarlos como tu quieras tambien tengo uno donde al hacer doble clic en una fila de un dtgridview   me llame los valores a una etiqueta o si tu quieres lo puedes adaptar a variables

    como este:

     if (Reliminar.Checked == true)
                {
                    DataGridViewRow fila = DgvEquipo.CurrentRow;

                    if (fila == null)
                        return;
                    idequipo.Text = fila.Cells["id_equipo"].Value.ToString();
                    label18.Text = fila.Cells["nombre_equipo"].Value.ToString();
                }
                else if (rbmodificar.Checked == true)
                {
                    DataGridViewRow fila = DgvEquipo.CurrentRow;
                    if (fila == null)
                        return;

                    modelo.Text = fila.Cells["modelo"].Value.ToString();
                    marca.Text = fila.Cells["marca"].Value.ToString();
                    ns.Text = fila.Cells["num_serie"].Value.ToString();
                    nombreEquipo.Text = fila.Cells["nombre_equipo"].Value.ToString();
                }

    espero estas te puedan ayudar.

    • Propuesto como respuesta Pablo Rubio viernes, 15 de noviembre de 2019 16:00
    • Marcado como respuesta da7nny viernes, 15 de noviembre de 2019 20:39
    jueves, 14 de noviembre de 2019 22:59
  • Muchas gracias, 10/10 ... me ayudaste mucho, conseguí solucionarlo con la información que me enviaste.
    • Propuesto como respuesta Pablo Rubio viernes, 15 de noviembre de 2019 16:48
    viernes, 15 de noviembre de 2019 13:57
  • Danny, si te sirvieron las respuestas brindadas por favor márcalas como tal, es una manera de finalizar la pregunta y también de agradecer la colaboración

     

    Saludos


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    • Propuesto como respuesta Pablo Rubio viernes, 15 de noviembre de 2019 16:00
    • Marcado como respuesta da7nny viernes, 15 de noviembre de 2019 20:39
    • Desmarcado como respuesta da7nny viernes, 15 de noviembre de 2019 20:39
    viernes, 15 de noviembre de 2019 15:59