Cuestión : ¿función llamada que no ejecuta - por qué?

Cuando el usuario presiona F8, se acciona una macro que lanza a usuario en esta función de HotKeySaveRecord. Su propósito es llamar una función de SaveRecord.    Desde el aumento para tener acceso a 2007, esta funcionalidad trabaja no más.   Cuando camino con esta función, apenas pasa a la derecha a través del varTemp = de la línea de frm.SaveRecord () sin nunca incorporar la función de SaveRecord. No hace error. la ayuda del

Any que usted puede proporcionar sería agradecida mucho.  ¡Gracias!

class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
función >Public notpretty HotKeySaveRecord " del class= " del id= " codeSnippet806751 del
 0 de Err.Number entonces
      ExitRoutine indicado
   Terminar si
   En el error ErrorHandler indicado
   
   'Ver si podemos ejecutar una función de SaveRecord () en la forma actual.
   En error reasumir después
   varTemp = frm.SaveRecord ()
   gobjLastError.Save yerran, strProcedureName
   En el error ErrorHandler indicado
   'Ahora examinar el gobjLastError para ver independientemente de si encontramos un SaveRecord forma-específico ().
   Seleccionar el caso gobjLastError.Number
      No encajonar 0 'ningunos errores.  La forma actual tenía una función de SaveRecord ().
         'No hacer nada
      La forma actual del caso 2465 'no tenía una función de SaveRecord ().
         'Ejecutar la función global de SaveRecord ().
         varTemp = SaveRecord ()
      El caso un 'cierto otro error sucedió.
         gobjLastError.Raise gobjLastError.Number y “: ” y gobjLastError.Description
   Extremo selecto
   
ExitRoutine:
   Salir la función
ErrorHandler:
   gobjLastError.Save yerran, strProcedureName
   Seleccionar el caso gobjLastError.Number
      Encajonar 
         gobjLastError.Show
         Reasumir ExitRoutine
   Terminar selecto
Terminar la función
class= del

Respuesta : ¿función llamada que no ejecuta - por qué?

No sure porqué todo ese código es necesario.  La manera más simple de ahorrar un expediente es la siguiente.

En una forma con un botón de ahorro:

Me.Dirty = falso

SI… usted necesita un “global” excepto (?) … entonces en un módulo del vba:

Forms.YourFormName.Dirty = falso

O

Screen.ActiveForm.Dirty = falso

MX
Otras soluciones  
 
programming4us programming4us