Textbox y fechas

Hola Valedor...
¿Me podrías ayudar con el siguiente problema?, intentaré ser lo más claro posible:
Tengo un formulario con 3 TextBox, uno de ellos inserta en una base de datos el día, el siguiente inserta el mes y el otro el año, colocándose cada dato en una columna independiente.
El problema es que necesito que en el mismo formulario y en un listBox que previamente he añadido con los días de la semana, lunes, martes, etc... Me active el día de la semana que corresponde al día que he marcado en el primer textBox.
Si eso no es posible, pues que por lo menos en otra columna de la misma base me añada el día de la semana.
No consigo hacer que me funcione por estar cada dato en una columna diferente y por eso no puede ponerle un formato de fecha ya que al configurarlo el día me lo reconoce como si fuera del año 1900.
Se que es difícil, pero me ayudaría bastante y me evitaría pérdidas de tiempo.
Gracias anticipadas de todos modos por tu paciencia.
1

1 respuesta

Respuesta
1
Para que sepas que día de la semana es determinada fecha, tienes que tener una fecha completa día-mes-año, si tienes solo el día no te sirve de nada, para saber que día de la semana es, tienes que usar la información de los tres text box que tienes en tu formulario, esto es posible, estoy suponiendo que tus tres text box se llaman
txtDia
txtMes
txtAno
Ahora, agrega un botón de comando y ponle cmdMostrarDia y agregale este código a su evento click
Private Sub cmdMostrarDia_Click()
Dim strFecha As String
strFecha = Trim(txtDia) & "/" & Trim(txtMes) & "/" & Trim(txtAno)
If IsDate(strFecha) Then
MsgBox "El dia de la semana para " & _
Format(strFecha, "dd-mmm-yyyy") & " es: " & _
Format(strFecha, "dddd")
Else
MsgBox "Fecha no valida"
End If
End Sub
Veras como te valida si es o no una fecha valida y te muestra el día que corresponda, pero mi pregunta es ¿tienes qué separar forzosamente el día, mes y año?, ¿No es más fácil manejar la fecha completa?, incluso puedes usar un control calendario para que el usuario seleccione la fecha, pero bueno, cada quien tenemos diferentes necesidades, saludos...
Mauricio Baeza
[email protected]
Todo lo que no es dado es perdido
*==========================================*
La presente respuesta ha demandado un tiempo de lectura,
análisis, elaboración y redacción. A cambio, simplemente,
pretendo que te tomes un minuto para FINALIZARLA, si
hubiera satisfecho -en alguna medida- tu requerimiento.
En caso contrario, puedes preguntarme nuevamente
aclarando qué entendí mal o qué faltó.
Gracias por el código que me resuelve el problema, quizás sí me funcione separando el día, mes y año, pero lo utilizo así porque tengo que analizar los datos en una tabla dinámica y utilizar los días, meses y años independientemente para que solo me sume lo necesario (el total de la base de datos será de unas 20.000 filas) por lo que creo que de esa forma puedo analizar por ejemplo los del mes (11) noviembre.
Aprovecho este momento para pedirte un poco más de ayuda ya que con lo que me has solucionado puedo avanzar y si me ayudas en lo siguiente casi que lo habré conseguido totalmente, ¿cómo puedo conseguir lo siguiente?: Si en el rango A1: tengo el dato: LUNES y en el rango B1: JUEVES, que en las siguientes columnas que estarán encabezadas por el nombre de cada día de la semana (lunes, martes, miércoles...), me añada un 1 a cada día de la franja, es decir, en la columna de lunes me ponga 1 en la del martes otro 1 y así hasta el jueves, con la finalidad de contar los días que se ha producido un evento en la franja semanal. Espero no ser un pesado y muchísimas gracias por tu ayuda que se hace indispensable para muchísimas personas como yo.
Con gusto te ayudo en cualquier pregunta, pero te recomendaría mucho, si te es posible, que hicieses una pregunta a la vez, la finalices y vuelvas a preguntar, te adelanto con respecto a esta ultima pregunta no entendí donde es que quieres aumentar un 1 y como es que lo quieres aumentar, si finalizas esta pregunta y replanteas la segunda para que la pueda entender.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas