Frage : benannte nicht durchführende Funktion - warum?

Wenn der Benutzer F8 bedrängt, ausgelöst ein Makro o-, das den Benutzer in diese HotKeySaveRecord Funktion wirft. Sein Zweck ist, eine SaveRecord Funktion zu benennen.    Seit der Höhereinstufung, zum auf 2007 zurückzugreifen, arbeitet diese Funktionalität nicht mehr.   Wenn ich durch diese Funktion trete, durchläuft sie gerade nach rechts das varTemp = frm.SaveRecord () Linie cord, ohne die SaveRecord Funktion überhaupt einzutragen. Sie tut nicht Störung.

Any Hilfe, die Sie leisten können, geschätzt viel.  Danke!

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:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
Public Funktion HotKeySaveRecord ()
'Zweck:
'Diese Funktion benannt durch den heißen Schlüssel F8, über das AutoKeys Makro.
'Es ist Zweck ist, beide „normalen“ zu stützen, verklemmte Formen, die das globale verwenden
'SaveRecord () Funktion (in den basApplUtilities) zum des Abwehr-Aufzeichnungsbetriebes durchzuführen;
'und andere Formen (wie ungebundene Formen Priorität mögen), diese Notwendigkeit
'eine für einen speziellen Zweck SaveRecord () Funktion haben definiert auf der Form selbst.
'Sie versucht zuerst, eine SaveRecord () Funktion auf der - aktiven Form z.Z. durchzuführen.
'Wenn dieses eine Störung 2465 zurückbringt, dann fortfährt es, das globale durchzuführen
'SaveRecord () Funktion.
'


   Auf Störung Goto- ErrorHandler
   'Erklärungen
   Const strProcedureName = „HotKeySaveRecord“
   Schwaches varTemp
   Schwaches frm als Form
   
   'Sicherstellen, dass es eine aktive Form gibt.
   'Wenn der Benutzer SaveRecord unter irgendeinem ungeradem Umstand forderte,
   'wir tun gerade nichts.
   Auf Störungs-Zusammenfassung zunächst
   Frm = Screen.ActiveForm einstellen
   Wenn Err.Number <> 0 dann
      Goto- ExitRoutine
   Beenden wenn
   Auf Störung Goto- ErrorHandler
   
   'Sehen, wenn wir eine SaveRecord () Funktion auf der gegenwärtigen Form durchführen können.
   Auf Störung zunächst wieder.aufnehmen
   varTemp = frm.SaveRecord ()
   gobjLastError.Save irren, strProcedureName
   Auf Störung Goto- ErrorHandler
   'gobjLastError jetzt kontrollieren, um zu sehen, ob wir ein Form-spezifisches SaveRecord fanden ().
   Fall gobjLastError.Number vorwählen
      0 'keine Störung Rechtssache.  Die gegenwärtige Form hatte eine SaveRecord () Funktion.
         'Nichts tun
      Gegenwärtige Form der Rechtssache 2465 'hatte nicht eine SaveRecord () Funktion.
         'Die globale SaveRecord () Funktion durchführen.
         varTemp = SaveRecord ()
      Fall sonst 'irgendeine andere Störung geschah.
         gobjLastError.Raise gobjLastError.Number u. „: “ u. gobjLastError.Description
   Ende auserwählt
   
ExitRoutine:
   Funktion herausnehmen
ErrorHandler:
   gobjLastError.Save irren, strProcedureName
   Fall gobjLastError.Number vorwählen
      Sonst umkleiden
         gobjLastError.Show
         ExitRoutine wieder.aufnehmen
   Auserwähltes beenden
Funktion beenden

Antwort : benannte nicht durchführende Funktion - warum?

Nicht sure, warum dieser ganzer Code notwendig ist.  Die einfachste Weise, eine Aufzeichnung zu speichern ist das folgende.

Auf einer Form mit einem Sicherungsknopf:

Me.Dirty = falsch

WENN… Sie ein „globales“ außer benötigen (?) … dann in einem vba Modul:

Forms.YourFormName.Dirty = falsch

Oder

Screen.ActiveForm.Dirty = falsch

MX
Weitere Lösungen  
 
programming4us programming4us