Frage : Wie man Laufzeitfehler 459 auf dem Beziehen einer Form noch ladend aber nicht durchaus schon geöffnet löst?

An der Linie Einzelteil #8 - bValue = Nz (Formen! frmMainMenu! sfrmRpts. Form.cDpt, falscher) - ich erhalten die Störung 459 - Gegenstand oder Kategorie stützt nicht den Satz von Ereignissen?  Code bitte unten merken:

It war der Code, der zu mir eariler bereitgestellt wurde, aber ich musste es am folgenden URL zwicken:
http://www.experts-exchang e.com/Micr osoft/Development/MS_Access/Access_Coding-Macros/Q_25938812.html

This subform benanntes sfrmShwPROJ_DPT ist innerhalb eines anderen subform, das sfrmRpts genannt wird und dieses subform ist ein Teil des Hauptmenüs, das frmMainMenu genannt wird.  So, da die Hauptmenüform benannte, ist frmMainMenu geöffnet und das folgende ist lief innerhalb des subform lud, aber das Hauptmenü wird nicht vollständig noch gezeichnet.  

As, das Sie sehen können, dass ich versuche, zu sehen, wenn die Hauptmenüform geöffnet ist, bevor man den Wert eines Steuer prüft - aber Prüfung, dass sein bereits geöffnet mir nicht hilft, die error.

To Hilfe zu überwinden, erklären weiter, was ich versuche, zu tun soll globale, Variablen zu verwenden vermeiden und mit Kontrollen auf dem Hauptmenü gehen.  Das Hauptmenü enthält einen Bereich, in dem Reportwahlen im sfrmRpts subform vorgewählt werden.  Neben den sfrmRpts dann berichtigen ist das andere subform (das keinen Anschluss entweder zum Hauptmenü oder zu den Report opitons hat), dass bloß Wahlen der filterndepts anzeigt.  

People kann einen Knopf an klicken und die subform Quelle ändern und wenn sie vom Anzeigen von depts (sfrmShwPROJ_DPT) zu den Räumen (sfrmShwPROJ_RM) gehen und dann zurück zu depts (sfrmShwPROJ_DPT) - ich wünsche sie nicht die shwPROJ_DPT Tabelle wieder herstellen - ich wünsche sie das shwPROJ_DPT benutzen, das justiert worden ist.  So wende ich die Tst_Dpt Methode an, um zu erklären, wenn ich das recordsource vom Kratzer verursachen muss, oder not.

Thanks für irgendwelche im Voraus helfen.  I kommentiert sichere Hoffnung capricorn1 über dieses, da er half, this.
zu entwickeln
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:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
Private Funktion Tst_Dpt () wie Boolesch
  
  Schwaches bMM, wie Boolesch
  Schwaches bValue, wie Boolesch
  
  bMM = IsOpen („frmMainMenu“)
  Wenn bMM = dann ausrichten
    bValue = Nz (Formen! frmMainMenu! sfrmRpts.Form.cDpt, falsch)
  Beenden wenn
  bMM = IsOpen („sfrmRpts“)
  Wenn bMM = dann ausrichten
    bValue = Nz (Formen! sfrmRpts.cDpt, falsch)
  Beenden wenn
  
  Wenn g_bLoadDept = ausrichten oder, bValue = richten dann Tst_Dpt = ausrichten aus

Enden-Funktion


'Die geöffnete Form geht vor Form-Last im Mitgliedstaat-Zugang

Privates VorForm_Open (Löschen als ganze Zahl)
  Set_Data
Enden-Unterseeboot

Privates VorSet_Data ()

  Schwaches sSQL als Schnur
  
  Schwaches sMeName als Schnur
  Schwaches sStdName als Schnur
  Schwaches sShwName als Schnur
  Schwaches sTblName als Schnur
  
  sMeName = Me.Form.Name
  sTblName = ersetzen (sMeName, „sfrmShw“, "")
  sStdName = ersetzen (sMeName, „sfrmShw“, „Geschlechtskrankheit“)
  sShwName = ersetzen (sMeName, „sfrmShw“, „shw“)
  
  Wenn This_Table_Exists (sStdName) = falsch dann
  
    sSQL = „WÄHLEN“ u. KeyCode u. „,“ u. KEYNAME u. „, [Erscheinen], 0 ALS Art IN“ u. sStdName vor
    sSQL = sSQL u. „VON“ u. sTblName
    
    CurrentDb.Execute sSQL
    DoEvents
  Beenden wenn
  
  Wenn This_Table_Exists (sShwName) = falsch dann
  
    sSQL = „WÄHLEN“ u. KeyCode u. „,“ u. KEYNAME u. „, [Erscheinen], 0 als Art IN“ u. sShwName vor
    sSQL = sSQL u. „VON“ u. sStdName
    
    CurrentDb.Execute sSQL
    DoEvents
    
  Beenden wenn
      
  Wenn Tst_Dpt = falsch dann
    
    sSQL = „LÖSCHUNG * VON [“ u. sShwName u. „]“
    CurrentDb.Execute sSQL
    
    sSQL = „EINSATZ IN [“ u. sShwName u. „] (“ u. KeyCode u. „,“ u. KEYNAME u. „, Erscheinen, Art)“
    sSQL = sSQL u. „WÄHLEN „“ u. SELECTCODE u. „“ WIE „u. KeyCode u.“, „„u. SELECTALL u.““ WIE „u. KEYNAME u.“ vor, zutreffend ALS Erscheinen, 0 ALS Art "
    CurrentDb.Execute sSQL
    
    sSQL = „EINSATZ IN“ u. sShwName u. „([“ u. KeyCode u. „], [“ u. KEYNAME u. „], Erscheinen, Art)“
    sSQL = sSQL u. „WÄHLEN vor [“ u. sStdName u. „]. [“ u. KeyCode u. „], ''u. [“ u. KEYNAME u. „] ALS DptName, [“ u. sStdName u. „]. [Erscheinen], 1 ALS DptS“
    sSQL = sSQL u. „VON [“ u. sStdName u. „]“
    CurrentDb.Execute sSQL
    
  Beenden wenn
  
  sSQL = „WÄHLEN“ u. KeyCode u. „,“ u. KEYNAME u. „, Erscheinen, Art“ vor
  sSQL = sSQL u. „VON“ u. sShwName
  sSQL = sSQL u. „AUFTRAG DURCH Sort,“ u. KEYNAME
  Me.RecordSource = sSQL
  
Enden-Unterseeboot


Allgemeine Funktion IsOpen (ByVal strformname als Schnur) wie Boolesch
Auf Störung Goto- Err_IsOpen

    Const conDesignView = 0
    Const conObjStateClosed = 0
    
    IsOpen = falsch
    
    Wenn SysCmd (acSysCmdGetObjectState, acForm, strformname) <> dann conObjStateClosed
        
        Wenn Formen (strformname) .CurrentView <> conDesignView dann
            IsOpen = richten aus
            
        Beenden wenn
        
    Beenden wenn
    
Exit_IsOpen:
    Funktion herausnehmen
    
Err_IsOpen:
    Anruf Error_Action (, irren sich Err.description, „modGlobal @ IsOpen“, Erl ())
    Zusammenfassung Exit_IsOpen
Enden-Funktion

Antwort : Wie man Laufzeitfehler 459 auf dem Beziehen einer Form noch ladend aber nicht durchaus schon geöffnet löst?

Nevermind, justierte ich und addierte das folgende, um mein Problem zu lösen:
Irgendwelche Interessen auf, was ich getan habe?
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:
Allgemeine Funktion IsLoaded (strName als Schnur, _
Wahlweise freigestelltes intType als ganze Zahl = acForm) wie Boolesch
Auf Störung Goto- Err_This
'Die gegenwärtige Lage des genannten Gegenstandes erhalten

  IsLoaded = SysCmd (acSysCmdGetObjectState, _
intType, _
strName) = acObjStateOpen

Exit_This:
  Funktion herausnehmen

Err_This:
  Anruf Error_Action (, irren sich Err.description, „modCritiera @ IsLoaded“, Erl ())
  Zusammenfassung Exit_This
Enden-Funktion

Private Funktion Tst_Dpt () wie Boolesch
  
  Schwaches bMM, wie Boolesch
  Schwaches bMMLoad, wie Boolesch
  Schwaches bValue, wie Boolesch

  bMM = IsOpen („frmMainMenu“)
  bMMLoad = IsLoaded („frmMainMenu“)
  
  Wenn bMM = ausrichten und bMMLoad = richten dann aus
    bValue = Nz (Formen! frmMainMenu! sfrmRpts.Form.cDpt, falsch)
  Beenden wenn
  bMM = IsOpen („sfrmRpts“)
  Wenn bMM = dann ausrichten
    bValue = Nz (Formen! sfrmRpts.cDpt, falsch)
  Beenden wenn
  
  Wenn g_bLoadDept = ausrichten oder, bValue = richten dann Tst_Dpt = ausrichten aus

Enden-Funktion
Weitere Lösungen  
 
programming4us programming4us