Access - Error definido por la aplicación o el objeto.

   
Vista:

Error definido por la aplicación o el objeto.

Publicado por Antonio (20 intervenciones) el 17/03/2013 19:11:41
Hola de nuevo, estoy programando en VBA (Access 2007) y tengo declaradas en el módulo las variables:
Código:
Public ctrActual As Control
Public frmActual As Form
Y las utilizo en el siguiente evento del formulario Form_AltaMat para llamar a una función declarada en el módulo:
Código:
1
2
3
4
Private Sub cArticulo_KeyDown(KeyCode As Integer, Shift As Integer)
   Set frmActual = Form_AltaMat
   Set ctrActual = cArticulo
   Call Sobreescribir(KeyCode, frmActual, ctrActual)


Al ejecutar dicha llamada en la siguiente función con estas variables y en la línea " If Len(ctrActual.Text) > ctrActual.SelStart Thent" me da el error Se ha producido el error '2465' en tiempo de ejecución: Error definido por la aplicación o el objeto.

Código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Public Function Sobreescribir(KeyCode As Integer, Form_AltaMat, cArticulo)
   'Procedimiento para sobreescribir 
   Dim Posicion As Long
   'Si la tecla pulsada es diferente de tecla arriba, abajo, escape, intro y tabulador
   If KeyCode <> 38 And KeyCode <> 40 And KeyCode <> 27 And KeyCode <> 13 And KeyCode <> 9 Then
   'Si la tecla pulsada es igual a flecha izquierda o flecha derecha o teclas menor de espacio 
   If KeyCode = 37 Or KeyCode = 39 Or KeyCode < 32 Then Exit Function
   'SelStart: devuelve o establece el punto inicial del texto seleccionado,       'indicando la posición del punto de inserción si no se ha seleccionado texto.
      If Len(ctrActual.Text) > ctrActual.SelStart Then
            Posicion = frmActual.ctrActual.SelStart
            frmActual.ctrActual.Text = Left(frmActual.ctrActual.Text, frmActual.ctrActual.SelStart) & Right(frmActual.ctrActual.Text, (Len(frmActual.ctrActual.Text) - (frmActual.ctrActual.SelStart + 1)))
         Form_AltaMat.cArticulo.SelStart = Posicion
      End If
   End If
End Function
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

Error definido por la aplicación o el objeto.

Publicado por deneg_nhj (349 intervenciones) el 19/03/2013 01:52:29
Este error se refiera a que la variable "ctrActual" que debería de ser un objeto no esta correctamenet asignada.

Creo que el error que estas cometiendo es que estas asignando un objeto que no existe o esta cerrado.

Por ejemplo para crear una variable de tipo form

Dim myForm as Form

' Con esta instruccion creo una variable de un formulario que esta abierto
Set myForm = Forms!xForm

Esto te permitirá accesar a los objetos de ese form

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

Error definido por la aplicación o el objeto.

Publicado por Antonio (20 intervenciones) el 22/03/2013 06:30:15
Gracias deneg_nhj por tu ayuda.

Saludos cordiales.
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