Access - Convertir Hyperlink a TextBox

 
Vista:
sin imagen de perfil

Convertir Hyperlink a TextBox

Publicado por crisgp (22 intervenciones) el 03/06/2008 17:16:08
Hola a todos:

tengo un formulario con un campo que es un Hipervínculo. Este formulario se puede abrir de 3 formas distintas: consultas, altas y modificaciones.
Si se abre como CONSULTA, el campo debe seguir siendo Hipervínculo.
En cambio, si se abre como MODIFICACIONES, el campo debe ser un TextBox, porque debe permitir pinchar y modificar el texto, pero al ser un Hipervínculo, cada vez que se pincha abre el enlace.

He probado con el siguiente código y con otras pruebas, pero no resulta:

For Each ctl In Me.Controls

If TypeOf ctl Is Hyperlink Then
ctl.ControlType = acTextBox
End If

If TypeOf ctl Is TextBox Or TypeOf ctl Is ComboBox Or TypeOf ctl Is CheckBox Then
ctl.Enabled = True
ctl.Locked = False
End If

Next ctl

Gracias!!
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

RE:Convertir Hyperlink a TextBox

Publicado por Enrique (1299 intervenciones) el 03/06/2008 21:12:51
Hola:
Es que no es así como debes de hacerlo, tiene que ser en el momento de abrir el Formulario, decirle si quieres que un determinado cuadro de Texto sea Hyperlink o no lo sea, en función de unas condiciones. El problema puede ser como indicar en el Form_Load (Al cargar), de que manera se ha abierto el Formulario, un ejemplo:

Private Sub Form_Load()
If SE ABRE COMO CONSULTA Then
Me.NombreCampo.IsHyperlink = True
Else
Me.NombreCampo.IsHyperlink = False
End Sub

Donde pongo "SE ABRE COMO CONSULTA" habría que poner la condición, que posiblemente pudiera ser: If Me.AllowEdits = False Then (Si permitir ediciones = No), el Formulario se ha abierto en Modo Consulta, pero esto no lo he probado.

Fíjate que Hyperlink es una propiedad de los Cuadros de Texto, o sea, son siempre TextBox tengan o no tengan activada esa propiedad por tanto, cuando pones: "ctl.ControlType = acTextBox" esto es una redundancia.

Un saludo
Enrique
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
sin imagen de perfil

RE:Convertir Hyperlink a TextBox

Publicado por crisgp (22 intervenciones) el 04/06/2008 10:26:01
Hola Enrique:

Gracias por tu respuesta, pero sigue sin quitarme el link. Te digo como tengo el código:

(Este formulario es el que se carga para ALTAS y MODIFICACIONES, por lo que he omitido parte del código que ahora no interesa)

Private Sub Form_Load()
Dim ctl As Object

For Each ctl In Me.Controls
If TypeOf ctl Is TextBox Or TypeOf ctl Is ComboBox Or TypeOf ctl Is CheckBox Then
ctl.Enabled = True
ctl.Locked = False
End If
Next ctl

If TipoPantalla = "MODIFICACIONES" Then
Me.Caption = "Modificación de Documentos"
Me.lblTituloForm.Caption = "Modificación de Documentos"
Me.cmdNuevaAlta.Visible = False
Me.cmdLimpiar.Visible = False
Me.cmdAlta.Visible = False
Me.cmdGuardarCambios.Visible = True
Me.cmdBorrarRegistro.Visible = True
Me.Ubicacion.IsHyperlink = False 'Este el cambio que he introducido, según me
'comentabas en el anterior post, pero sigue
'siendo enlace
Me.DataEntry = False
End If

End Sub

Muchas gracias!
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

RE:Convertir Hyperlink a TextBox

Publicado por mi menda (1111 intervenciones) el 07/06/2008 13:58:35
Hola crisgp:

He probado la propiedad IsHyperlink como dice Enrique y a mí tampoco me funciona (Algo haremos mal).
Lo que conozco para modificar el hipervínculo es hacer click con el botón derecho y en el menú contextual ir a hipervínculo > Modificar hipervínculo.
Podrías hacer un menú contextual personalizado con ese comando y asignar el menú al formulario dependiendo de la forma en que se abra.
Supongo que por código se podrìa hacer, pero lo desconozco. De todas formas yo rara vez utilizo esos campos, prefiero un cuadro de texto normal y utilizar Application.FollowHyperlink MiTxtRuta.

Un Saludo
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