Visual Basic.NET - Capturar fecha de un DateTimePicker

 
Vista:
sin imagen de perfil
Val: 344
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Capturar fecha de un DateTimePicker

Publicado por Miguel (281 intervenciones) el 23/11/2016 20:58:26
Hola quiero explicar algo que me ocurre con un DateTimerPicker y no le encuentro sentido. Mi código es :

1
2
3
4
5
Private Sub DateTimePicker1_CloseUp(sender As Object, e As EventArgs) Handles DateTimePicker1.CloseUp
    Dim miFecha = Format(DateTimePicker1.Value.ToShortDateString, "Short Date")
    txtInstalacion.Text = Convert.ToString(CDate(miFecha))
    txtInstalacion.Focus()
End Sub

El caso es que cuando entro y hago click sobre un día cualquiera del mes en curso me lo carga en el campo y me permite guardar el registro. Ahora bien si voy en el calendarios y capturo un día de meses anteriores también carga la fecha en el TextBox pero cuando doy al botón para agregar el registro me sale el siguiente error.

Adjunto fichero con el error.

Gracias y un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Capturar fecha de un DateTimePicker

Publicado por Milton (3 intervenciones) el 23/11/2016 21:27:52
por que tantas complicaciones quieres la fecha y almacenarlo en un campo fecha solo has esto:

1
me.dtpFecha.value.date //devuelve solo la fecha y en tu bd el campo debe ser tipo date

si quieres la fecha en string

1
me.dtpFecha.value.date.tostring

igual si solo quieres el dia, el mes, etc.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Edward
Val: 392
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Capturar fecha de un DateTimePicker

Publicado por Edward (146 intervenciones) el 23/11/2016 21:35:14
Buen día para todos,

Miguel, que base de datos estas usando porque asumo que cuando dices agregar registro lo estas guardando en una base de datos, si es así que tipo de campo es en el que estas guardando la fecha (Date, DateTime, DateSpam, VarChar, Texto...).

Porque en el archivo adjunto es muy claro el mensaje que no se puede convertir a tipo integer.

También falta ver como estas realizando el proceso para agregar el registro.

Por lo que veo el problema radica en el tipo de datos.

Empezando porque en esta linea no estas definiendo el tipo de datos que sera la variable miFecha.

Debido a que solo colocas
1
Dim miFecha = Format(DateTimePicker1.Value.ToShortDateString, "Short Date")

pero no indicas que tipo de variable sera, por decir debe quedar... en donde especifico que sera de tipo Date.
1
Dim miFecha as Date = Format(DateTimePicker1.Value.ToShortDateString, "Short Date")

Ahora para pasar el valor del DateTimePicker al TestBox porque no usas la opción del evento DateTimePicker1_ValueChanged en vez de DateTimePicker1_CloseUp, y das el formato de la siguiente manera.

1
txtInstalacion.Text = DateTimePicker1.Value.ToString("dd/MM/yyyy")

Donde puedes definir fácilmente el formato que necesites de manera mas corta, recuerda que una vez los valores esten en el TextBox serán de tipo String.

Porque en esta linea veo que estas convirtiendo el valor a tipo Date nuevamente????? si el valor ya es de tipo Date porque lo estas tomando de un control DateTimePicker.

1
txtInstalacion.Text = Convert.ToString(CDate(miFecha))

Ahora bien si ya tienes el control DateTimePicker para que lo estas pasando al TextBox porque no tomas el valor directamente del DateTimePicker y te ahorras el paso al TextBox.


Acá puedes ver un ejemplo de como guardar fechas con un control DateTimePicker en una base de datos.

https://aprendamosdeprogramacion.wordpress.com/2016/11/12/agregar-consultar-actualizar-y-eliminar-con-fecha-y-hora-mediante-datetimepicker-en-base-de-datos-sqlite-en-vb-net/


Espero haber sido de ayuda.

Que tengan buen día,

El conocimiento siempre debe ser compartido, para que entre todos aprendamos un poco mas...

Mas ejemplos acá...

https://aprendamosdeprogramacion.wordpress.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar