Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - leopola

Páginas: [1]
1
Bueno, gracias a Javi! a partir del puntapié inicial que me dio, lo adapte para mis necesidades y salió bien, quedó algo así! por si alguien también lo necesita!

Código: [Seleccionar]
Dim fecha As Date
        Dim hoy As Date = Now
        Dim dias As Integer
        Dim Edad As Integer

        For Fila As Integer = 0 To DataGridView1.Rows.Count - 1
            If DataGridView1.Rows(Fila).Cells("FECHA_DE_NACIMIENTO").Value = Nothing Then
                Exit For
            Else
                fecha = DataGridView1.Rows(Fila).Cells("FECHA_DE_NACIMIENTO").Value
                dias = DateDiff(DateInterval.Day, fecha, hoy)

                'FIX toma la parte entera
                Edad = Fix(dias / 365.25)
                Me.DataGridView1.Rows(Fila).Cells("EDAD").Value = Edad.ToString
                Me.DataGridView1.Rows(Fila).Cells("ESTADO").Value = "ACTIVO"
            End If
        Next

        Try
            Dim GuardarEdicion As OleDbCommandBuilder
            GuardarEdicion = New OleDbCommandBuilder(da)
            da.Update(dt)
            MsgBox("Se han Actualizado los Datos Modificados")

            TextBoxFiltrarApellido.Text = ""
            TextBoxFiltrarDni.Text = ""
            TextBoxFiltrarCurso.Text = ""
            TextBoxFiltrarTurno.Text = ""
            TextBoxFiltrarSexo.Text = ""
            TextBoxFiltrarRepitente.Text = ""
            TextBoxFiltrarAdeudaMaterias.Text = ""
            DataGridView1.ReadOnly = True
            dt.Dispose()
            conexion.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

Desde ya muchas, pero muchas gracias! Abrazo y seguro después sigo molestando con alguna otra cuestión!!!!

2
Hola javi!
Ya lo estoy probando y te cuento!  antes de probar ya le veo buena pinta!
En algunas horas cuento el resultado!
Desde ya muchas gracias!!!!!

3
Hola javi in the sky!!!
Desde ya muchas gracias! por responder, a uno del otro lado le da muchas ganas de meterle a esto de la programación.

El tema es que no me he explicado bien, perdón!

Los datos los ingreso desde otro Form, es decir a través de textbox's pero el textbox EDAD no, porque a partir de la fecha de nacimiento que ingresan en el textbox "Fecha de nacimiento" calculo la edad y al presionar Guardar se agrega el registro, aparece el datagridview actualizado con la edad correspondiente automáticamente.

Así:

Código: [Seleccionar]
Dim fecha As Date
                Dim hoy As Date = Now
                Dim dias As Integer
                Dim Edad As Integer

                fecha = TextBoxFechaNacimiento.Text
                dias = DateDiff(DateInterval.Day, fecha, hoy)
                'FIX toma la parte entera
                Edad = Fix(dias / 365.25)

                Dim comand As New OleDbCommand
                comand.Connection = conexion
                comand.CommandText = "insert into Alumnos (APELLIDO,NOMBRES,DNI,EDAD,CURSO,TURNO,DOMICILIO,TELEFONO,SEXO,MODALIDAD,FECHA_DE_NACIMIENTO,LUGAR_DE_NACIMIENTO,ESCUELA_DE_PROCEDENCIA,ES_REPITENTE_SI_NO,ADEUDA_MATERIAS,MATERIAS_QUE_ADEUDA,OBSERVACIONES) values ('" & TextBoxNuevoApellido.Text & "', '" & TextBoxNuevoNombres.Text & "', '" & TextBoxNuevoDni.Text & "', '" & Edad & "', '" & TextBoxCurso.Text & "', '" & TextBoxTurno.Text & "', '" & TextBoxDomicilio.Text & "', '" & TextBoxTelefono.Text & "', '" & TextBoxSexo.Text & "', '" & TextBoxModalidad.Text & "', '" & TextBoxFechaNacimiento.Text & "', '" & TextBoxLugarNacimiento.Text & "', '" & TextBoxEscuelaProcedencia.Text & "', '" & TextBoxEsRepitente.Text & "', '" & TextBoxAdeudaMaterias.Text & "', '" & TextBoxMateriasAdeuda.Text & "', '" & TextBoxObservaciones.Text & "')"
                comand.ExecuteNonQuery()
                MsgBox("Alumno Cargado")
                Form1.mostrardatos()

Ahora bien, mientras estamos mirando el datagridview tengo dos botones 1 Editar, 2 Guardar edición.
Para poder editar los datos ingresados desde el otro Form a partir de los textbox, la diferencia es que los edito y los guardo en el mismo datagridview.
El tema es que si modifico la "Fecha de Nacimiento" previamente dejando la opción de sólo lectura en FALSE, no se me actualiza la EDAD obviamente porque no lo he contemplado y no se cómo hacerlo...

Con este botón edito:

Código: [Seleccionar]
Private Sub ButtonEditarGuardar_Click(sender As Object, e As EventArgs) Handles ButtonEditar.Click
        DataGridView1.ReadOnly = False
        DataGridView1.Columns("FECHA_DE_NACIMIENTO").ReadOnly = False
        DataGridView1.Columns("EDAD").ReadOnly = True
    End Sub

Con este Guardo en el mismo datagridview

Código: [Seleccionar]
Private Sub ButtonGuardarEdicion_Click(sender As Object, e As EventArgs) Handles ButtonGuardarEdicion.Click
        Try
            If Not conexion.State = ConnectionState.Open Then
                conectar()
                'aca si no esta abierta la base de datos la abrimos
            End If
            Dim GuardarEdicion As OleDbCommandBuilder
            GuardarEdicion = New OleDbCommandBuilder(da)
            da.Update(dt)
            MsgBox("Se han Actualizado los Datos Modificados")

            TextBoxFiltrarApellido.Text = ""
            TextBoxFiltrarDni.Text = ""
            DataGridView1.ReadOnly = True
            dt.Dispose()
            conexion.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

lo que no se es precisamente editar la fecha de nacimiento en el datagridview y que me  actualice la EDAD.
Desde ya muchas gracias!!!!! Leopoldo

4
Antes que nada me presento.

Mi nombre es Leopoldo Miracco. Soy de Argentina, Pcia. de Bs. As, ciudad de Azul.

Estoy dando mis primeros pasos en Visual Basic.Net. Me ha ido bastante bien y le he tomado la mano bastante.

Hasta que por necesidad me metí con bases de datos y se complica un toque...

Tengo la siguiente problemática:

Estoy con una única tabla en access, con VB.Net.

He logrado editar y guardar en tiempo de ejecución los datos mostrados en el datagridview.

De todas formas para ingresar un nuevo registro lo hago a través de otro Form.

Y en él, no aparece el textbox EDAD, ya que al ingresar la fecha de nacimiento con el cálculo obtengo la edad y se graba con el resto del registro, apareciendo en el datagridview.

Ahora bien, en primer instancia dejo deje de solo lectura las columnas EDAD y FECHA DE NACIMIENTO.

Pero pregunto ¿es posible, editar en el datagridview como hago con el resto de los datos, la fecha de nacimiento y que al grabar, en la columna EDAD de su respectiva Fila se actualice la edad, en tiempo de ejecución?

Es decir, no se cómo hacerlo, si debo borrar antes el valor en la celda EDAD, y tampoco se cómo recorrer el datagridview... Pensaba en la posibilidad de cada vez que oprimo Guardar de una edición, actualizar toda la columna EDAD, digo porque saber en el momento que se esta editando que celdas de la columna fecha de nacimiento se han editado quizás sea mucho mas complejo. En fin, si no me hice entender me dicen sin problemas, que rehago la consulta. Ustedes me van a saber decir que es lo que me conviene y lo que no.

Desde ya muchas gracias!!! Saludos desde Argentina! Leopoldo.

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".