** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Insertar fecha en la posición del cursor
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoInsertar fecha en la posición del cursor

 Responder Responder
Autor
Mensaje
Eduard.2008 Ver desplegable
Colaborador
Colaborador


Unido: 05/Diciembre/2008
Localización: Catalunya
Estado: Sin conexión
Puntos: 529
Enlace directo a este mensaje Tema: Insertar fecha en la posición del cursor
    Enviado: 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
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6521
Enlace directo a este mensaje Enviado: 23/Octubre/2019 a las 17:24
Un Saludo.
Arriba
Eduard.2008 Ver desplegable
Colaborador
Colaborador


Unido: 05/Diciembre/2008
Localización: Catalunya
Estado: Sin conexión
Puntos: 529
Enlace directo a este mensaje 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
Arriba
prga Ver desplegable
Moderador
Moderador


Unido: 16/Noviembre/2004
Localización: España
Estado: Sin conexión
Puntos: 3535
Enlace directo a este mensaje 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

Arriba
Eduard.2008 Ver desplegable
Colaborador
Colaborador


Unido: 05/Diciembre/2008
Localización: Catalunya
Estado: Sin conexión
Puntos: 529
Enlace directo a este mensaje 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
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable