¿Cómo guardo en nombre de una etiqueta en una variable?

Necesitaría crear un código que me guardara el nombre de la etiqueta sobre la que estoy pulsando y me extrajera los dos primeros caracteres y el último.

Por ejemplo si la etiqueta se llama: "41L" que me guardara en dos variables:

variable1= 41

variable2=L

Esto ultimo creo que puedo hacerlo con la funcion right y left, pero me falta saber como guardar el nombre de la etiqueta

3 Respuestas

Respuesta

Lo ultimo se puede obtener

Los dos primeros caracteres:

Variable1 =Left (Me.[mi_objeto].Name,2)

El ultimo carácter:

Variable2 =Right(Me.[mi_objeto].Name,1)

Los eventos se producen al interactuar con los objetos (ejemplo: hacer Click ...) las etiquetas no suelen tener eventos y si los tienen en el propio evento se accede a sus propiedades (Caption, Value, Name ...)

Me plantearía el utilizar un objeto mas adecuado que una etiqueta (cuya utilidad es aportar información de otro objeto).

Original:

... Un código que me guardara el nombre de la etiqueta sobre la que estoy pulsando ...

Añadir un botón es un -nuevo objeto- que si admite eventos, pero ...
¿A qué etiqueta se hace referencia si hay mas de una?

(Porque una etiqueta no se puede referenciar con la opción de Application. Screen.PreviousControl ...)

Respuesta

Para que lo veas

Si tengo un formulario con una etiqueta llamada Etiqueta1 y dos cuadros de texto( es para el ejemplo) y un botón

Cuando lo pulso

En este caso sólo le digo

Texto23 = Left(Etiqueta1.Caption, 2)
Texto25 = Right(Etiqueta1.Caption, 1)

Y en tu caso, que quieres declarar dos variables, lo podrías poner como

dim a as string, b as string

a=Left(Etiqueta1.Caption, 2)

b=Right(Etiqueta1.Caption, 1)

Respuesta

No puede comenzar el nombre de la etiqueta por un NUMERO si piensa hacer referencia a ésta más adelante. Creo que pregunta es sobre el nombre de la etiqueta y NO el título de ésta.

Puede utilizar la propieda TAG (Información adicional) de la etiqueta para anotar el valor que supuestamente "lleva" la etiqueta y como nombre de la etiqueta puede ser cualquiera.

Tengo una etiqueta que le he dato el nombre Variable, observe las propiedades, aunque le asigné como como nombre x41L (puede ser otro), en información adicional (TAG) si anoto el verdadero valor, en este caso 41L, ahora programa el evento "Al hacer clic" sobre la etiqueta "Variable", obtengo:

CÓDIGO DEL EVENTO AL HACER CLIC

Option Compare Database
Option Explicit
Dim variable1 As String
Dim variable2 As String
Private Sub x41L_Click()
  If Len(Me.x41L.Tag) = 3 Then
   variable1 = Left(Me.x41L.Tag, 2)
   variable2 = Right(Me.x41L.Tag, 1)
   MsgBox "Nombre de la etiqueta " & Me.x41L.Tag & vbCrLf & vbCrLf & _
   "Variable1= " & variable1 & vbCrLf & vbCrLf & _
   "Variable2=  " & variable2, vbInformation, "Le cuento"
  End If
End Sub

Como las variables se pueden utilizar para otras etiquetas las he definido a nivel de formulario.

NOTA: Si el nombre de la etiqueta comenzara por un carácter texto el código sería más simple.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas