Access - ¿Se puede hacer esto con textbox?

 
Vista:

¿Se puede hacer esto con textbox?

Publicado por Victor Manuel (101 intervenciones) el 19/04/2007 18:46:05
Tengo un textbox donde quiero poner una hora el formato de la hora es formato mediana.

Como le hago para que mediante un scroll vertical se pueda elegir entre las horas, minutos y la opcion de p.m. y a.m.

Como lo hace el DTPicker cuando le poner en formato de tiempo.

Espero alguien pueda decirme si se puede o no se puede. Saludos.
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
Imágen de perfil de Alejandro

Crear selector de hora con scroll vertical en un textbox

Publicado por Alejandro (4142 intervenciones) el 09/08/2023 17:20:27
En Access, no existe una funcionalidad incorporada en un control de TextBox que permita implementar un selector de hora similar al DTPicker con un scroll vertical directamente en el TextBox. Sin embargo, puedes lograr un efecto similar utilizando un TextBox y dos botones para aumentar y disminuir las horas, minutos y la opción de p.m. y a.m. en incrementos.

Aquí tienes una solución que puedes implementar:

1. Diseño del formulario:
- Agrega un TextBox para ingresar la hora y dos botones (uno para aumentar y otro para disminuir los valores).
- Etiqueta los botones como "↑" y "↓".

2. Código VBA:
Agrega el siguiente código VBA al evento "Al hacer clic" de los botones:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub btnHoraUp_Click()
    Dim strHora As String
    Dim dtHora As Date
 
    strHora = Me.txtHora.Value
    dtHora = TimeValue(strHora)
    dtHora = dtHora + TimeSerial(0, 30, 0) ' Aumentar 30 minutos
 
    Me.txtHora.Value = Format(dtHora, "hh:nn AM/PM")
End Sub
 
Private Sub btnHoraDown_Click()
    Dim strHora As String
    Dim dtHora As Date
 
    strHora = Me.txtHora.Value
    dtHora = TimeValue(strHora)
    dtHora = dtHora - TimeSerial(0, 30, 0) ' Disminuir 30 minutos
 
    Me.txtHora.Value = Format(dtHora, "hh:nn AM/PM")
End Sub

3. Ajustes de diseño:
Puedes ajustar el intervalo de tiempo que se incrementa o disminuye al hacer clic en los botones cambiando el valor en la línea `dtHora = dtHora + TimeSerial(0, 30, 0)` y `dtHora = dtHora - TimeSerial(0, 30, 0)`.

4. Resultado:
Al hacer clic en los botones ↑ y ↓, se aumentará o disminuirá la hora en incrementos de 30 minutos. El TextBox mostrará la hora en el formato deseado, incluyendo la opción de p.m. y a.m.

Es importante mencionar que, aunque esta solución no proporciona un scroll vertical como en el DTPicker, ofrece una alternativa para lograr un selector de hora con botones. Puedes personalizar el diseño y el comportamiento según tus necesidades específicas.
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