none
cargar cuadros de texto con datos en acces

    Question

  • hola

    estoy haciendo un programa en visual basic 2008 y acces , y cuando agrego datos nuevos en un datagridview nesesito que un cuadro de texto se llene con el numero del nuevo dato creado . por ejemplo si en la tabla de acces tengo un dato con el numero 2 y creo un nuevo dato que seria 3 , nesesito que el 3 aparesca en un cudro de textos.

    Alguien me puede ayudar .


    Thursday, May 31, 2012 10:23 PM

Answers

  • Hola Amiga:

    Entiendo yo que lo quieres obtener en el TextBox es el numero consecutivo del registro a guardar, para mi la solicion mas optima es hacer una consulta de seleccion a tu BD inmediatemente despues de guardar el registro, con esto garantizas que el nuevo Id viene directamente de la BD y no del DGV.

    Try
    Dim cnx As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Ruta)
    Dim SQLbuscar As String
    SQLbuscar = "Select ISNULL(max(Folio), 0) AS Valor_maximo from Tabla "
    Dim cmd As New OleDbCommand(SQLbuscar, cnx)
    cmd.CommandType = CommandType.Text
    cnx.Open()
    Dim lectura As OleDbDataReader = cmd.ExecuteReader()
    If lectura.Read = True Then
        txtfolio.Text = lectura(0).ToString + 1
    End If
    cnx.Close()
    Catch omitir As Exception
    MessageBox.Show(omitir.Message)
    End Try

    Espero puedas analizar ambas respuestas.

    Saludos

    Recuerda que si una respuesta te es Util votala como tal y si logro satisfacer tu necesidad marcala como Respuesta,  para que otros usuarios puedan servirse de las respuestas en un futuro.

    Friday, June 01, 2012 4:15 PM

All replies

  • Hola

    Tendrias que explicarte mejor. ¿Como introduces los nuevos datos? desde el dataGridView, desde controles (TextBox comboBox, etc), desde access. El valor que quieres visualizar en el textBox es el valor de una celda de la grilla, no

    Thursday, May 31, 2012 10:59 PM
  •  ok :) .. esque mira conecte acces con un dataGridView y tengo un boton que guarda los registros en una base d datos en acces y cuando se guardan , nesesito que un cuadro de texto se llene con el numero del nuevo registro , por decir si en la tabla tenia dos y guardo un nuevo registro seria el numero 3 , y nesesito que el numero 3 aparesca en un cuadro de texto .

    Espero que m puedas ayudar :S .. Gracias

    Thursday, May 31, 2012 11:06 PM
  • Con el Me.DataGridView1.RowCount obtienes el numero de lineas del dataGridView

    Textbox1.text = Me.DataGridView1.RowCount

    Thursday, May 31, 2012 11:14 PM
  • si lo que quieres es ver en tu DataGridView lo nuevo que has agregado, te recomiendo que lo actualices! En el boton agregar pones:

    DataGridView.ResetBindings()

    Eso te actualiza tu datagridview si es a eso que te refieres.

    Thursday, May 31, 2012 11:16 PM
  • Pero sigo sin entender, si cuando carga la DataGridView tienes dos líneas y el textbox que pone 2, quiere decir que ya cuentas las líneas de DataGridView, ¿no?, tu pregunta no será, ¿como actualizar DataGridView con los nuevos valores?.

    Tengo otra duda, en el DataGridView cargas los datos de la tabla o solo lo utilizas para agregar los nuevos datos, el número que quieres que salga en el textBox es el número de las líneas DataGridView o el número de registros totales de la base de datos independientemente de lo que hay en el DataGridView

    Thursday, May 31, 2012 11:33 PM
  • si asi como m dijiste la primera vez asi era como yo queria deheecho ya m salio .

    muchas gracias :) .

    Thursday, May 31, 2012 11:36 PM
  • Hola Amiga:

    Entiendo yo que lo quieres obtener en el TextBox es el numero consecutivo del registro a guardar, para mi la solicion mas optima es hacer una consulta de seleccion a tu BD inmediatemente despues de guardar el registro, con esto garantizas que el nuevo Id viene directamente de la BD y no del DGV.

    Try
    Dim cnx As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Ruta)
    Dim SQLbuscar As String
    SQLbuscar = "Select ISNULL(max(Folio), 0) AS Valor_maximo from Tabla "
    Dim cmd As New OleDbCommand(SQLbuscar, cnx)
    cmd.CommandType = CommandType.Text
    cnx.Open()
    Dim lectura As OleDbDataReader = cmd.ExecuteReader()
    If lectura.Read = True Then
        txtfolio.Text = lectura(0).ToString + 1
    End If
    cnx.Close()
    Catch omitir As Exception
    MessageBox.Show(omitir.Message)
    End Try

    Espero puedas analizar ambas respuestas.

    Saludos

    Recuerda que si una respuesta te es Util votala como tal y si logro satisfacer tu necesidad marcala como Respuesta,  para que otros usuarios puedan servirse de las respuestas en un futuro.

    Friday, June 01, 2012 4:15 PM