none
Al escribir dentro de una celda de la primera Columna en el DataGridView1 me muestre los registros de los campos dentro de la fila misma que deseo consular a una base de datos acess RRS feed

  • Pregunta

  • Buenas tardes si alguien me puede ayudar con un codigo  para un DataGridView1 en vb net 2012 que deseo hacer una consulta a un bd acess a traves de una celda y que los registros  encontrados me muetre en las fila de las siguientes columnas.


    sábado, 26 de marzo de 2016 21:01

Respuestas

  • Hola:

     2. ¿es necesario tener que realizar la búsqueda a partir del valor ingresado en una celda?, pregunto esto porque podría resultarte mas sencillo utilizar un control TextBox para que el usuario teclee el valor a buscar y al presionar la tecla Enter (o la que tu desees) realice la búsqueda y solo sea cuestión de agregar un Row mas a la colección del DataGridView.


    Saludos desde Monterrey, Nuevo León, México!!!

    domingo, 27 de marzo de 2016 17:43

Todas las respuestas

  • Hola,

    Puedes crear un método, en el cual envíes el valor (el cual será el parámetro de tu consulta), y el índice de la fila donde mostraremos los demás datos.

    Algo así :

    En el evento de tu DGV, cuando termina de editar el valor, tomamos el dato y ejecutamos la función.

        Private Sub DataGridView1_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
    
            'Si es la columna 1 (posicicón 0)
            If e.ColumnIndex = 0 Then
    
                Dim valor As String = Convert.ToString(DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value)
    
                'Mandamos el valor y el índice de la fila
                rellenarFila(valor, e.RowIndex)
    
            End If
    
        End Sub

    Y nuestro método :

    Public Sub rellenarFila(ByVal valor As String,
                            ByVal indiceFila As Integer)
    
            'Aquí consultas el BD Access
    
            Dim conexion As OleDbConnection
            Dim comando As OleDbDataAdapter
            Dim ds As DataSet
            Dim consulta As String = String.Empty
    
            conexion = New OleDbConnection("Miconexion")
            comando = New OleDbDataAdapter("Tu consulta en la BD Access WHERE CAMPO1 = '" + valor + "'", conexion)
    
            ds = New DataSet()
    
            Try
                'Llenas el DataSet
                comando.Fill(ds)
    
                Dim tabla As DataTable = ds.Tables(0)
    
                'Si solo devuelve una fila
                'Tomamos sus valores
                If tabla.Rows.Count = 1 Then
    
                    'Agregamos los datos a la misma fila
                    'el Cells(0) -> Equivale al que editamos al comienzo, por eso seguimos
                    'con el Cells(1)
                    DataGridView1.Rows(indiceFila).Cells(1).Value = Convert.ToString(tabla(0)(1))
                    DataGridView1.Rows(indiceFila).Cells(2).Value = Convert.ToString(tabla(0)(2))
                    DataGridView1.Rows(indiceFila).Cells(3).Value = Convert.ToString(tabla(0)(3))
    
                    'tabla(0)(1) -> tabla(fila)(columna)
                End If
    
            Catch ex As Exception
                MessageBox.Show("Se produjo un error : " & ex.Message)
            End Try
    
        End Sub

    Como puedes ver, cuando termina de editar, ejecuta todo eso, y automáticamente muestra los datos.

    Saludos.


    JC NaupaCrispín

    sábado, 26 de marzo de 2016 21:22
  • QUE ALGUIEN ME AYUDE CON UN CODIGO NECESITO HACER CONSULTA A UNA B/D ACESS TRAVES DE CELDAS DE LA COLUMNA CLAVE Y QUE LOS REGISTROS SALGAN POR FILA; Y SI DESEO HACER LAS CONSULTAS DE LAS CELDAS QUE SE REQUIERAN CELDA POR CELDA LA CONSULTA

    domingo, 27 de marzo de 2016 5:09
  • Hola Olga:

    Me voy a permitir darte unos pequeños consejos que creo te ayudarán en la vida y por lo menos en tu relación con este foro.

    1) Léete por favor las normas del foro.

    2) La educación con la que solicites alguna cosa será muy bien venida por los usuarios de este foro.

    3) Las cosas que se solicitan y como buena norma se solicitan por favor, nadie de este foro está obligado/a a satisfacer tus necesidades, se hace por puro altruismo sin más. Ten en cuenta que algún a persona de este foro empleará su tiempo más o menos largo en intentar ayudarte.

    4) Raramente se te contestará escribiendo en mayúsculas, eso en nuestro argot quiere decir que estás "Gritando", por favor realiza tus preguntas en minúsculas que es lo correcto.

    Voy a quedarme en estos pequeños detalles que seguro harán mucho más factible que alguien sin ningún tipo de obligación te ayude a resolver tus problemas, por último, léete tu pregunta a ver si tu misma la entiendes. Las dudas las tienes que documentar correctamente para que la persona que te pueda responder tenga una visión lo más clara posible de cual es tu duda.

    Recibe un cordial saludo.

    Gemma

    domingo, 27 de marzo de 2016 9:32
  • Buen día:

    Disculpa si los ofendí, pero es mi intención no es gritar ni mucho menos obligar que me ayuden; si tu lo haces pues estaría agradecida y es verdad no van entender la pregunta porque recién lo leí y esta hecho una mezcla ; bueno es verdad tienes razón.

     

    domingo, 27 de marzo de 2016 13:40
  • Por favor si me puede ayudar con un código, necesito hacer una consulta en las celdas de una misma  columna Clave en   DataGridView osea mi consulta sea celda por celda cuando lo requiera y los datos sean mostrados en la misma fila.

    Algo así:

    Clave     Código    Concepto

    1020    1.0.1.0     hfhfhhhf

    Disculpa nuevamente es la primera ves que entro a este foro.

    domingo, 27 de marzo de 2016 13:51
  • Hola Olga:

     Bienvenida al foro y no tomes a mal lo que Gemma comenta (es muy atinado).

     En cuanto a lo que deseas hacer, te pregunto.

     1. ¿Una consulta hacia donde?, ¿estas trabajando con alguna base de datos?, si ¿cual?, no ¿Contra que haremos la consulta?

     2. ¿es necesario tener que realizar la búsqueda a partir del valor ingresado en una celda?, pregunto esto porque podría resultarte mas sencillo utilizar un control TextBox para que el usuario teclee el valor a buscar y al presionar la tecla Enter (o la que tu desees) realice la búsqueda y solo sea cuestión de agregar un Row mas a la colección del DataGridView.

    Bueno, respondiéndome eso aclararas mas el panorama.


    Saludos desde Monterrey, Nuevo León, México!!!

    domingo, 27 de marzo de 2016 14:52
  • Hola,

    Esa pregunta ya la habías hecho antes?

    Pregunta

    Saludos.


    JC NaupaCrispín

    domingo, 27 de marzo de 2016 15:34
  • Saludos .<o:p></o:p>

     JC NaupaCrispín buen día :<o:p></o:p>

    De antemano muchas gracias por su código si lo hice y lo pobre. Claro ya lo hice esa pregunta antes pero no me explique bien porque solo me busca de una celda ósea de la primera   flia 1 con columna o; pero quiero que me consulte también las siguientes celdas! cuando consulte a mi base de datos access; como el detalle de un asiento diario en una DataGridView.<o:p></o:p>

    domingo, 27 de marzo de 2016 16:19
  • Buen día, muchas  gracias claro que sí no hay problema yo entiendo; es verdad no me explique bien y si le pareció grotesco  lo que pregunte, a  Gemma ya pedí  disculpa pero eso no fue mi intención.

    Bueno lo que quise preguntar es una consulta a una base de access; algo como un detalle de asiento, porque si tengo encabezado y ahí no hay problema.

    domingo, 27 de marzo de 2016 16:32
  • Hola:

     2. ¿es necesario tener que realizar la búsqueda a partir del valor ingresado en una celda?, pregunto esto porque podría resultarte mas sencillo utilizar un control TextBox para que el usuario teclee el valor a buscar y al presionar la tecla Enter (o la que tu desees) realice la búsqueda y solo sea cuestión de agregar un Row mas a la colección del DataGridView.


    Saludos desde Monterrey, Nuevo León, México!!!

    domingo, 27 de marzo de 2016 17:43