|
Responder
|
| Autor | |
Eduard.2008
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador
Unido: 05/Diciembre/2008 Localización: Catalunya Estado: Sin conexión Puntos: 529 |
Tema: Insertar fecha en la posición del cursorEnviado: 23/Octubre/2019 a las 10:47 |
|
Buenos días a todos.
El código adjunto lo vengo utilizando sin problemas, en un campo Memo, para insertar la fecha actual en la posición del cursor (Access 2003). Al pasar a la versión 2013 he activado la opción de Texto Enriquecido y no consigo que la fecha se inserte en la posición correcta. En los campos que no son de texto enriquecido si que funciona. Os agradecería que me ayudaseis a resolverlo. El código que utilizo es el siguiente: Function InsertaFecha() Dim ctl
As Control Dim strTexto
As String Dim lngPosicion As Long Dim strMensaje
As String Set ctl = Screen.ActiveControl strTexto = ctl.Text lngPosicion = ctl.SelStart strMensaje = Left(strTexto, lngPosicion) &
Date & Mid(strTexto, lngPosicion + 1) ctl.Value = strMensaje ctl.SelStart = lngPosicion + Len(CStr(Date)) End Function Muchas gracias. |
|
|
Muchas gracias por vuestra ayuda.
www.ofp.cat |
|
![]() |
|
mounir
Colaborador
Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6521 |
Enviado: 23/Octubre/2019 a las 17:24 |
|
Un Saludo.
|
|
![]() |
|
Eduard.2008
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador
Unido: 05/Diciembre/2008 Localización: Catalunya Estado: Sin conexión Puntos: 529 |
Enviado: 24/Octubre/2019 a las 11:42 |
|
He probado el link indicado por Mounir y ocurre lo mismo que con el código que venía utilizando. Creo que la causa del problema es la interferencia que producen los caracteres ocultos que acompañan al texto enriquecido. El resultado es que la fecha se inserta desplazada respecto de la posición del cursor y que, aparentemente, el desplazamiento no sigue una regla fija. Gracias Mounir por tu respuesta. |
|
|
Muchas gracias por vuestra ayuda.
www.ofp.cat |
|
![]() |
|
prga
Moderador
Unido: 16/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 3535 |
Enviado: 24/Octubre/2019 a las 15:48 |
|
Hola. Como parece ser que en texto enriquecido lo del selstart etc etc no funciona bien, una solución alternativa pasaría por: 1º.-Activar en VBA la librería FM20.dll( Microsoft forms 2.0). Como no está en versiones “modernas” del Access procederemos: en vba, herramientas-Examinar, iremos a la carpeta c:Windows\syswow64 y la cargaremos. OJO al menos en access 2019 se quedaría activada para "siempre", pero no se importa a otra base de datos nueva. 2º.-Aprovechando el atajo de teclado CTRL+”;” (ctrl+mayúscula+tecla coma) que inserta la fecha del día en cualquier sitio (en texto enriquecido no funciona), pondremos el siguiente código en el evento Keyup de ese cuadro de texto: If Shift = 3 And KeyCode = 188 And Me.cuadrotextortf.TextFormat = acTextFormatHTMLRichText Then Dim miporta As New MSForms.DataObject Dim mifecha As String mifecha = Format(Date, "dd/mm/yyyy") miporta.SetText mifecha miporta.PutInClipboard DoEvents DoCmd.RunCommand acCmdPaste miporta.Clear Set miporta = Nothing else 'otras cosas End If Con lo anterior, al pulsar “CTRL+Shift+tecla coma” se insertará la fecha en la posición que tenga el cursor dentro de ese campo. Seguro que hay soluciones más sencillas, de todas formas espero que ayude a resolver la duda Ya comentas. Un saludo a todos |
|
![]() |
|
Eduard.2008
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador
Unido: 05/Diciembre/2008 Localización: Catalunya Estado: Sin conexión Puntos: 529 |
Enviado: 26/Octubre/2019 a las 07:45 |
|
Buenos días.
Gracias prga, funciona perfecto. Se puede cerrar
|
|
|
Muchas gracias por vuestra ayuda.
www.ofp.cat |
|
![]() |
|
Responder
|
|
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |