Principales respuestas
Fecha (Fecha de Nacimeniento) con 3 Textbox

Pregunta
-
Hola buenas dias, mi consuta es como puedo realizar una fecha valida con 3 textbox?
la idea es que en el textbos 1 se introduzca el dia de nacimiento, en el textbox 2 el mes y en el textbox 3 el año, para al final poder concatenarlo y guardarlo domo una fecha valida..
a ver si alguien me puede orientar un poco
Respuestas
-
...la idea es que en el textBox1 se introduzca el día de nacimiento, en el textBox 2 el mes y en el textBox 3 el año, para al final poder concatenarlo y guardarlo como una fecha válida...
Entiendo que por "guardar como fecha válida" te refieres a almacenar el valor en un tipo coherente, por ejemplo en un tipo date, ¿verdad?, de ser así puedes asignar las partes -de la fecha- como argumentos del constructor de la clase Date, por ejemplo:
Dim Fecha = New Date(CInt(txtAnio.Text), CInt(txtMes.Text), CInt(txtDia.Text))
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Propuesto como respuesta Joyce_ACModerator jueves, 20 de abril de 2017 15:39
- Marcado como respuesta Joyce_ACModerator viernes, 21 de abril de 2017 16:49
-
{...} pero seria tedioso desde un DateTimePicker buscar tu fecha de nacimiento
¿Buscar dónde?, ¿sobre el propio control?. No necesitas desplegar el cuadro donde se muestran las fechas para navegar entre años hasta llegar a una determinada fecha, basta con escribir en el cuadro de edición la fecha que buscas, claro, el control hace por ti las validaciones correspondientes.
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Propuesto como respuesta Joyce_ACModerator viernes, 21 de abril de 2017 16:49
- Marcado como respuesta Jefry Zelaya viernes, 21 de abril de 2017 17:46
Todas las respuestas
-
Hola Jefry Zelaya
Dim dia As Integer Dim mes As Integer Dim anio As Integer dia = Convert.toInt32(TxtDia.Text) mes = Convert.toInt32(TxtMes.Text) anio = Convert.toInt32(TxtAnio.Text) Dim fecha As Date fecha = Convert.toDatetime(dia.toString() & "/" & mes.toString() & "/" & anio.toString())
Saludos
Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.
-
...la idea es que en el textBox1 se introduzca el día de nacimiento, en el textBox 2 el mes y en el textBox 3 el año, para al final poder concatenarlo y guardarlo como una fecha válida...
Entiendo que por "guardar como fecha válida" te refieres a almacenar el valor en un tipo coherente, por ejemplo en un tipo date, ¿verdad?, de ser así puedes asignar las partes -de la fecha- como argumentos del constructor de la clase Date, por ejemplo:
Dim Fecha = New Date(CInt(txtAnio.Text), CInt(txtMes.Text), CInt(txtDia.Text))
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Propuesto como respuesta Joyce_ACModerator jueves, 20 de abril de 2017 15:39
- Marcado como respuesta Joyce_ACModerator viernes, 21 de abril de 2017 16:49
-
...la idea es que en el textBox1 se introduzca el día de nacimiento, en el textBox 2 el mes y en el textBox 3 el año, para al final poder concatenarlo y guardarlo como una fecha válida...
gracias por la respuesta (de nuevo), una ultima pregunta en cuanto a esto, en dado caso si la fecha incorrecta la que se ingresa, por ejemplo 30/02/1999, con este código el programa por obvias razones muestra error, la pregunta es como valido para evitar ese error?Entiendo que por "guardar como fecha válida" te refieres a almacenar el valor en un tipo coherente, por ejemplo en un tipo date, ¿verdad?, de ser así puedes asignar las partes -de la fecha- como argumentos del constructor de la clase Date, por ejemplo:
Dim Fecha = New Date(CInt(txtAnio.Text), CInt(txtMes.Text), CInt(txtDia.Text))
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios. -
Puedes comparar tu valor de fecha con la fecha actual
If fecha < Date.Now Then MessageBox.Show("La fecha no puede ser menor a la actual") End If
Saludos
Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.
-
Puedes comparar tu valor de fecha con la fecha actual
If fecha < Date.Now Then MessageBox.Show("La fecha no puede ser menor a la actual") End If
Saludos
Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.
Dim Fecha = New Date(CInt(TxtAnio.Text), CInt(TxtMes.Text), CInt(TxtDia.Text)) If Fecha < Date.Now Then MessageBox.Show("La fecha no puede ser menor a la actual") End If
el problema es que me marca un error desde la declaración de la fecha y no alcanza a entrar al ciclo if -
...si la fecha que se ingresa es incorrecta, por ejemplo 30/02/1999, con este código el programa por obvias razones muestra error, la pregunta es ¿cómo valido para evitar ese error?
¿Por qué no usas el control DateTimePicker o el control MaskedTextBox?
Si separas las partes de una fecha en cajas de texto la validación básica deberá restringir el ingreso a sólo valores numéricos, el rango del día dependerá del mes, el mes estará entre 1 y 12 y el año según el rango que consideres; como vez podrías evitarte las validaciones si ocupas controles ad-hoc para el manejo de fechas.
También podrías validar si la concatenación de partes resulta en un valor de fecha válido, para ello puedes usar la función TryParseExact
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios. -
¿Por qué no usas el control DateTimePicker o el control MaskedTextBox?
Si separas las partes de una fecha en cajas de texto la validación básica deberá restringir el ingreso a sólo valores numéricos, el rango del día dependerá del mes, el mes estará entre 1 y 12 y el año según el rango que consideres; como vez podrías evitarte las validaciones si ocupas controles ad-hoc para el manejo de fechas.
También podrías validar si la concatenación de partes resulta en un valor de fecha válido, para ello puedes usar la función TryParseExact
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.Pues mira el DateTime no creo que se acomode a lo que pretendo hacer, el MaskedTexbox no me guata XD
y pues siempre he querido hacerlo con 3 textbox o con 3 combobox, y si la solucion podria ser validando y limitando las cantidades a ingresar en cada textbox, Gracias por la respuesta
-
...pues mira el DateTime no creo que se acomode a lo que pretendo hacer, el MaskedTexbox no me guata XD
Y sólo por curiosidad -si deseas puedes omitir la respuesta-, ¿qué deseas conseguir que consideras que el control DateTimePicker no pueda ayudarte?. Muy por el contrario, pienso que trabajar las partes de fecha por separado no sólo se complica para ti, sino también para el usuario.
-
...pues mira el DateTime no creo que se acomode a lo que pretendo hacer, el MaskedTexbox no me guata XD
si yo se que podria ser mas facil, pero seria tedioso desde un dataTime buscar tu fecha de nacimiento, o al menos eso pienso yo!Y sólo por curiosidad -si deseas puedes omitir la respuesta-, ¿qué deseas conseguir que consideras que el control DateTimePicker no pueda ayudarte?. Muy por el contrario, pienso que trabajar las partes de fecha por separado no sólo se complica para ti, sino también para el usuario.
-
{...} pero seria tedioso desde un DateTimePicker buscar tu fecha de nacimiento
¿Buscar dónde?, ¿sobre el propio control?. No necesitas desplegar el cuadro donde se muestran las fechas para navegar entre años hasta llegar a una determinada fecha, basta con escribir en el cuadro de edición la fecha que buscas, claro, el control hace por ti las validaciones correspondientes.
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.- Propuesto como respuesta Joyce_ACModerator viernes, 21 de abril de 2017 16:49
- Marcado como respuesta Jefry Zelaya viernes, 21 de abril de 2017 17:46
-
{...} pero seria tedioso desde un DateTimePicker buscar tu fecha de nacimiento
¿Buscar dónde?, ¿sobre el propio control?. No necesitas desplegar el cuadro donde se muestran las fechas para navegar entre años hasta llegar a una determinada fecha, basta con escribir en el cuadro de edición la fecha que buscas, claro, el control hace por ti las validaciones correspondientes.
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.