Convertir numero a texto access vba

Cree un formulario con un subformulario, en el subformulario es una consulta donde me muestra todos los usuarios registrados. Donde se ve Id, nombre usuario, contraseña y permisos.

El 1 significa que es "Administrador" y el 2 significa que es "Usuario", a lo que mi duda es como realizar esa conversión de numero a texto para que en vez de que salga 1 o 2, muestre si es administrador o usuario, gracias por la ayuda.

Cree este código en la parte del subformulario pero no funciona correctamente:

Private Sub Form_Open(Cancel As Integer)

   If (Me.txtNvlSeguridad.value) = 1 Then
        Me.txtNvlSeguridad = "Administrador"
   ElseIf (Me.txtNvlSeguridad.value) = 2 Then
        Me.txtNvlSeguridad = "Usuario"
   Else
       Cancel = True
   End If
End Sub

Respuesta
1

Vanesa, por poder puedes hacerlo, pero ten en cuenta que si ese subformulario que citas depende de una tabla, entonces guardarás en ella, en vez de un 1 la palabra Administrador y la próxima vez que lo abrieras, en vez de un 1 ó 2 mostraría Administrador o Usuario. Por eso, lo mejor es que hagas lo que te aconsejan.

Me había olvidado. Lo que si puedes hacer es ocultar el campo Permisos, añadirle un cuadro de texto y en él, usar el formato condicional.

2 respuestas más de otros expertos

Respuesta
1

Mejor hágalo en la consulta adicione una columna, por ejemplo,

categoria:IIF([permiso]=1;"Administrador";"Usuario")

Permiso es nombre del campo con valor 1 o 2.

Adicione el campo "Categoria" al origen de datos del subformulario.

Respuesta
1

El error que recibes es porque vuelves a evaluar el dato sin necesitarlo, en lugar de un 'Else' has utilizado un 'ElseIf'.

Supuestamente el ElseIf es para evaluar una segunda condición, un ejemplo sería que primero se condicionase a tener sed y la segunda condición (para los que responden sí) es preguntarles si tienen un vaso.

Tu condicional debería funcionar de forma correcta así:

 If (Me.txtNvlSeguridad.value) = 1 Then
        Me.txtNvlSeguridad = "Administrador"
   Else
        Me.txtNvlSeguridad = "Usuario"
   End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas