none
Problema entre fechas para cargar datos desde un datagridview a textboxes vb.net

    Pregunta

  • Buen día compañeros,

    Tengo un pequeño problema, tengo un formulario en donde inserto datos desde textbox: folio, cliente, fecha de solicitud y fecha de entrega.

    Una vez guardados esos datos, tengo la opción de buscar esa orden por número de folio.

    Para buscar esa orden, abro otro formulario en donde ingreso el folio y doy clic en un botón para buscar, y en un datagridview aparecen los datos ingresados desde SQL Server. Al hacer doble clic en el DataGridView, me manda esos datos a los campos textbox: folio, cliente, fecha de solicitud y fecha de entrega que previamente guardé. Hasta aquí todo bien.

    El problema es que si pasan dos días o más, al hacer doble clic en el DataGridView, solo me manda el folio y fecha de solicitud.

    Desde SQL Server Management Studio, si cambio la fecha de entrega a no más de un día a la fecha actual, funciona bien, pero si son dos días o más de diferencia no me cargan los datos del DataGrid  a los textbox.

    Espero haberme explicado,

    gracias por adelantado. Saludos.

    miércoles, 19 de abril de 2017 21:58

Respuestas

  • Juan Ortiz T

    Intenta lo siguiente: guardar primero en una variable convirtiendo tu valor que seleccionas al tipo de dato y luego asignar el valor al datetimepicker

    Si hay algún error de sintaxis, fíjate no tengo donde probarlo, pero la idea es esa guardarla como el tipo de dato y asignarla

        Dim fecha As Date
        fecha = Convert.ToDateTime(Me.Pacientes_ordenesDataGridView.Rows(Me.Pacientes_ordenesDataGridView.CurrentRow.Index).Cells(1).Value)
        ordenes.FechaEntregaOrdDateTimePicker.Value = fecha

    Coméntame como te fue.

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    • Marcado como respuesta Juan Ortiz T miércoles, 19 de abril de 2017 22:38
    miércoles, 19 de abril de 2017 22:30
  • Juan Ortiz T

    Realiza un debug de tu aplicación, coloca un breakpoint al momento que recuperas lo datos y fíjate que está pasando en el docle click, quizá son formatos. 

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    • Marcado como respuesta Juan Ortiz T miércoles, 19 de abril de 2017 23:36
    miércoles, 19 de abril de 2017 23:23

Todas las respuestas

  • Hola Juan Ortiz T

    Lo estas recuperando en un datetimepicker? no lo estas recuperando en un textbox, asegúrate que estes dando el .value a la fecha real, quizá se está quedando en la fecha actual. Te recomiendo que al momento de guardar tu fecha si lo hagas con ese control , pero cuando lo quieras mostrar, lo muestres en un simple textbox, salvo que quieras modificar la fecha, cambia la estructura.

    Para poder apoyarte mejor, muéstranos tu código.

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    miércoles, 19 de abril de 2017 22:06
  • Hola Brayan De La Cruz,

    Antes que nada, gracias por tu pronta respuesta,

    En esa imagen muestro la búsqueda después de grabar los datos, me los recupera bien desde SQL a un datagrid, y al hacer doble clic este código es el que tengo para enviar esos datos, el folio se debe enviar a un textbox, fecha de registro y fecha entrega a datetimepicker y cliente a textbox.

    En el evento doble clic tengo este código:

            ordenes.FolioOrdTextBox.Text = _
                Me.Pacientes_ordenesDataGridView.Rows(Me.Pacientes_ordenesDataGridView.CurrentRow.Index).Cells(0).Value
            ordenes.FolioOrdTextBox.ReadOnly = True
            '
            ordenes.FechaActualOrdDateTimePicker.Value = _
                Me.Pacientes_ordenesDataGridView.Rows(Me.Pacientes_ordenesDataGridView.CurrentRow.Index).Cells(1).Value
            '
            ordenes.FechaEntregaOrdDateTimePicker.Value = _
                Me.Pacientes_ordenesDataGridView.Rows(Me.Pacientes_ordenesDataGridView.CurrentRow.Index).Cells(2).Value
            ordenes.FechaEntregaOrdDateTimePicker.Enabled = False
            '
            ordenes.NombreClienteTextBox.Text = _
                Me.Pacientes_ordenesDataGridView.Rows(Me.Pacientes_ordenesDataGridView.CurrentRow.Index).Cells(3).Value
            ordenes.NombreClienteTextBox.ReadOnly = True

    Por ejemplo esos datos los grabé hoy, 19 de abril, y si se llega el 28 de abril o después, ya no me manda los datos a los campos que necesito

    Saludos,

    miércoles, 19 de abril de 2017 22:19
  • Juan Ortiz T

    Intenta lo siguiente: guardar primero en una variable convirtiendo tu valor que seleccionas al tipo de dato y luego asignar el valor al datetimepicker

    Si hay algún error de sintaxis, fíjate no tengo donde probarlo, pero la idea es esa guardarla como el tipo de dato y asignarla

        Dim fecha As Date
        fecha = Convert.ToDateTime(Me.Pacientes_ordenesDataGridView.Rows(Me.Pacientes_ordenesDataGridView.CurrentRow.Index).Cells(1).Value)
        ordenes.FechaEntregaOrdDateTimePicker.Value = fecha

    Coméntame como te fue.

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    • Marcado como respuesta Juan Ortiz T miércoles, 19 de abril de 2017 22:38
    miércoles, 19 de abril de 2017 22:30
  • Brayan De La Cruz,

    traté como me sugeriste, y da el mismo resultado, sigue sin mostrarme la fecha de entrega ni el nombre del cliente al doble clic.

    es muy raro esto, antes funcionaba bien, y desde hace unos días para acá ya no, no entiendo a que se deba. Como te comento, esos datos los grabé hoy 19 de abril, adelanté mi fecha en la computadora dos días (28 de abril) y no me carga los datos del DataGrid a los controles del form donde grabo los datos. Desde el SQL Server Management cambié la fecha de entrega al 28 de abril y funciona, o sea, que si pasan dos días no me cargan esos datos.

    Ya he hecho varias pruebas, y me di cuenta que el detalle está en esa fecha de entrega, no logro entender pasa
    • Editado Juan Ortiz T miércoles, 19 de abril de 2017 22:45
    miércoles, 19 de abril de 2017 22:43
  • Juan Ortiz T

    Realiza un debug de tu aplicación, coloca un breakpoint al momento que recuperas lo datos y fíjate que está pasando en el docle click, quizá son formatos. 

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    • Marcado como respuesta Juan Ortiz T miércoles, 19 de abril de 2017 23:36
    miércoles, 19 de abril de 2017 23:23
  • Brayan De La Cruz,

    Muchas gracias por tu ayuda, puse un breakpoint y me salió la excepción "El valor de la fecha no es válido para 'Value'. 'Valuedebería estar entre 'MinDate' y 'MaxDate'."

    Lo que pasa que en el evento load del formulario donde ingreso datos, tenía a ese datetimepicker con la fecha mínima del día actual (FechaEntregaOrdDateTimePicker.MinDate = Today).  No se me había ocurrido usar un breakpoint.

    Agradezco el tiempo que te tomaste para ayudar a resolver esto. Muchas gracias! Espero que a alguien más le sirva eso.

    Saludos desde México

    miércoles, 19 de abril de 2017 23:42
  • Hola Juan Ortiz T

    El breakpoint es una buena práctica en el desarrollo, siempre nos saca de apuros :)

    Saludos desde Perú


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.


    miércoles, 19 de abril de 2017 23:56