** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Cambio a mayúsculas
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoCambio a mayúsculas

 Responder Responder
Autor
Mensaje
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 690
Enlace directo a este mensaje Tema: Cambio a mayúsculas
    Enviado: 16/Junio/2023 a las 18:33
Buenas tardes.
He buscado en el foro y no me ha mostrado temas parecidos (no sé si lo habrá). Bueno, la pregunta es la siguiente, en un campo normal de texto de un formulario, me gustaría que al cambiar de campo, este anterior se copiara en otro campo que por defecto está oculto en el formulario y que cambiara el texto introducido todo a mayúsculas.
También la posibilidad de que un campo fecha de tipo corto, pues igual, que lo copiara a otro campo (no visible) y que fuera de formato fecha larga y sin el día de la semana; o sea: 

De: Industrias de Comidas Rápidas, S.L.
A: INDUSTRIAS DE COMIDAS RÁPIDAS, S.L.
..., y
De: 10/11/2022
A: 10 de noviembre de 2022  (en vez de:  jueves, 10 de noviembre de 2022)

No tengo ni idea de si se puede hacer en access. 
Gracias por adelantado
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 14428
Enlace directo a este mensaje Enviado: 16/Junio/2023 a las 19:03
Comandos Ucase y Format respectivamente.
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 690
Enlace directo a este mensaje Enviado: 17/Junio/2023 a las 21:44
Hola. Perdón por tardar en contestar.
Gracias Jesús. No conocía esos comandos.
Uso de las mayúsculas con:

Me.campo2_txt = Me.campo1_txt
Me.campo2_txt.Value = UCase(Me.campo2_txt.Value)

Sin embargo no consigo que la fecha me la dé al estilo oficio de la administración (22 de diciembre de 2021) con Format. Me hace unas cosas muy raras. Seguiré probando
Arriba
joanka Ver desplegable
Habitual
Habitual


Unido: 07/Abril/2021
Localización: Lleida
Estado: Sin conexión
Puntos: 144
Enlace directo a este mensaje Enviado: 18/Junio/2023 a las 10:50
Hola,

Este es el fomato para poner la fecha como quieres:

Dim fecha As Date
Dim fechaformat As String

fecha = Me.txtfecha

txtfechaformat = Format(fecha, "dd \de mmmm \de yyyy")

Saludos
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 690
Enlace directo a este mensaje Enviado: 18/Junio/2023 a las 14:55
Pues la verdad no sale...
Sé que el problema debe ser de interpretación pero no doy con lo que ocurre. 
La verdad creo que es muy simple.
Copio el valor de un campo en otro porque los dos valores lo necesito:

Me.fecha2_txt = Me.fecha1_txt

fecha1_txt   está en formato fecha corta que me vale (18/06/2023)

fecha2_txt está en formato fecha larga (domingo, 18 de junio de 2023) que me vale pero me sobra el domingo y no doy con la tecla de quitarlo con Format.

Igual con una consulta lo haría pero quiero evitar hacerla. La cosa es que me sale desconfigurada la fecha y no sé porqué.
Bueno...
Arriba
javier.mil Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Agosto/2005
Localización: España
Estado: Sin conexión
Puntos: 4856
Enlace directo a este mensaje Enviado: 18/Junio/2023 a las 19:01
Prueba asi

MsgBox Format(Date, "dd-mmmm-yyyy")
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 690
Enlace directo a este mensaje Enviado: 18/Junio/2023 a las 22:01
Javier, el box sale con:
18-junio-2023

He hecho un montón de pruebas y no lo consigo (y debe ser algo que se escapa).
Aún enrevesándolo, tampoco sale:

Private Sub fecha1_txt_AfterUpdate()

Dim fecha As Date
Dim fechaformat As String

Me.fecha2_txt = Me.fecha1_txt

fecha = Me.fecha2_txt

fechaformat = Format(fecha, "dd \de mmmm \de yyyy")

End Sub

me da la fecha como fecha corta. De verdad, no sé...
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1536
Enlace directo a este mensaje Enviado: 18/Junio/2023 a las 22:41
Sólo un apunte: Da igual el formato que le des a una fecha antes de guardarlo en un campo tipo fecha de una tabla: siempre se va a guardar de la misma forma. Se almacena como un número, donde la parte entera son los días transcurridos desde una fecha concreta, y los decimales son las horas, minutos y segundos desde las 00:00 horas de ese día.

Así, por mucho que des formatos a las fechas antes de guardarlas en la tabla, al vovler a verlas las verás con el formato que tengas definido en el cuadro de texto, o en el campo de la tabla, o uno genérico dependiendo del valor guardado.

Como entiendo que ese fecha2_txt es un campo de texto de un formulario, prueba esto:

1a. Si fecha1_txt y fecha2_txt tienen que guardar la misma fecha, pero cada uno la tiene que mostrar con un formato distinto, borra todo ese código que tienes de asignación y formateo de fechas. Sólo necesitas que fecha2_txt tenga el mismo origen de datos que fecha1_txt.

1b. Si fecha1_txt y fecha2_txt pueden guardar fechas distintas, deja sólo el código de asignación:

Private Sub fecha1_txt_AfterUpdate()
    Me.fecha2_txt = Me.fecha1_txt
End Sub

2. En el diseñador de objetos del formulario, selecciona el control fecha2_txt, y en su propiedad Formato (Pestaña Formato -> primera propiedad de la lista), introduce el formato con el que quieres verlo: dd" de "mmmm" de "aaaa

Nota: si tu Access está en inglés, cambias las aaaa por yyyy

El punto 2. es para ese cuadro de texto de ese formulario. Si tienes que ver la fecha con ese formato en especial, debes copiar y pegarlo en cada objeto creado. Para los objetos nuevos, y si tienes la fecha guardada, puedes asignarle ese formato al campo de la tabla, abriéndola en modo Diseño.

También hay otra posibilidad si no quieres guardar la misma fecha 2 veces en la tabla: usar la propiedad Origen del control de fecha2_txt, y dejando su propiedad Formato en blanco. Como usamos la función Format, estamos convirtiendo una fecha en un texto, y por eso Access nos respeta el formato indicado.

=Format([fecha2_txt];"dd"" de ""mmmm"" de ""aaaa")


Editado por pitxiku - 18/Junio/2023 a las 22:46
Arriba
joanka Ver desplegable
Habitual
Habitual


Unido: 07/Abril/2021
Localización: Lleida
Estado: Sin conexión
Puntos: 144
Enlace directo a este mensaje Enviado: 18/Junio/2023 a las 22:46
el textbox donde pones la fecha formateada ha de ser texto
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 690
Enlace directo a este mensaje Enviado: 18/Junio/2023 a las 23:39
Muchísimas gracias.
Me ha quedado clarísimo Pitxiku (por fin).
Salu2

Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 690
Enlace directo a este mensaje Enviado: 27/Junio/2023 a las 18:10
Perdonad. El hilo se podía cerrar hace varios días.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable