Se ha producido el error 2447 en tiempo de ejecución

Al cargar un formulario en Microsoft Access me salta el siguiente error:

'Se ha producido el error 2447 en tiempo de ejecución. Hay un uso no válido de un . (punto), de un operador ! O de paréntesis ().

El código es algo sencillo:

Private Sub Form_Load()
If Texto169 = 1 And Texto189 = 1 Then
G411.Visible = True
ElseIf [Texto169] = 1 And [Texto189] = 2 Then
G412.Visible = True
ElseIf [Texto169] = 1 And [Texto189] = 3 Then
G413.Visible = True
ElseIf [Texto169] = 1 And [Texto189] = 4 Then
G414.Visible = True
ElseIf [Texto169] = 2 And [Texto189] = 1 Then
G421.Visible = True
ElseIf [Texto169] = 2 And [Texto189] = 2 Then
G422.Visible = True
ElseIf [Texto169] = 2 And [Texto189] = 3 Then
G423.Visible = True
ElseIf [Texto169] = 2 And [Texto189] = 4 Then
G424.Visible = True
Else
Texto155.Value = 3
End If
End Sub

Me da error en el primer If y no consigo solucionarlo.

1 respuesta

Respuesta

Es posible que alguno de los controles Gxxx no sea del tipo que esperas y no tiene la propiedad "Visible", por lo cual, te dará el error, además, de tener el "ElseIf" demasiado sobrecargado.

Te sugiero esta otra opción, y a ver si funciona mejor...

IF Me.Texto169= 1 then

    Select Case Me.texto189

                 Case 1
                        Me.G411.Visible = True
                 Case 2
                        Me.G412.Visible = True
                 Case 3
                        Me.G413.Visible = True
                 Case 4
                        Me.G414.Visible = True
      End Select

Else

    Select Case Me.texto189

                 Case 1
                        Me.G421.Visible = True
                 Case 2
                        Me.G422.Visible = True
                 Case 3
                        Me.G423.Visible = True
                 Case 4
                        Me.G424.Visible = True
      End Select

End if

Creo que así está más claro y si te da un error, te indicará exactamente el sitio.

Tambien intenta escribir tu todas las sentencias (NO LAS COPIES), porque al poner el "ME" te indicará el nombre del campo, y despues de poner el punto, aparecerá la propiedad "Visible"... Si esta no aparece, es porque ese tipo de control no está bien definido o tiene algún problema... Lo borras y lo vuelves a crear de nuevo.

Un saludo y espero que te funcione correctamente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas