Vraag : Hoe te om run-time fout 459 bij het van verwijzingen voorzien van een maar niet helemaal nog geopende vorm die op te lossen nog wordt geladen?

Bij lijnpunt #8 - bValue = Nz (Vormen! frmMainMenu! sfrmRpts. Valse Form.cDpt,) - ik krijg fout 459 - voorwerp of klasse steunt niet de reeks gebeurtenissen?  Gelieve te nemen nota van code hieronder:

It was code aan me wordt verstrekt eariler maar ik moest het bij volgende URL knijpen die:
http://www.experts-exchang geroepen e.com/Micr osoft/Development/MS_Access/Access_Coding-Macros/Q_25938812.html

This subform sfrmShwPROJ_DPT is binnen een andere geroepen subform sfrmRpts en dat subform is een deel van het belangrijkste menu genoemd frmMainMenu.  Aldus aangezien de Belangrijkste vorm van het Menu riep wordt frmMainMenu geopend en laadde het volgende is liep binnen subform maar het belangrijkste menu wordt niet volledig nog getrokken.  

As u kunt zien ik probeer om te zien of wordt de belangrijkste menuvorm geopend alvorens de waarde van een controle te testen - maar testend dat reeds geopend zijn me niet helpt de/>To hulp error.


People kan op een knoop klikken en de subformbron veranderen en als zij van het tonen depts (sfrmShwPROJ_DPT) naar ruimten (sfrmShwPROJ_RM) gaan en dan terug naar depts (sfrmShwPROJ_DPT) - ik wil het niet tot de shwPROJ_DPTlijst opnieuw leiden - ik wil het shwPROJ_DPT gebruiken die is aangepast.  Aldus ik de te vertellen methode Tst_Dpt gebruik als ik recordsource van kras.

Thanks voor om het even welke hulp moet of niet tot stand brengen vooraf.  I de zekere hoop capricorn1 becommentari�ërt over dit aangezien hij hielp this.
ontwikkelen
" codeBody "
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:
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:
van
Private Functie Tst_Dpt () zoals Van Boole
  
  Schemerige bMM zoals Van Boole
  Schemerige bValue zoals Van Boole
  
  bMM = IsOpen („frmMainMenu“)
  Als bMM = Waar toen
    bValue = Nz (Vormen! frmMainMenu! vals sfrmRpts.Form.cDpt,)
  Eind als
  bMM = IsOpen („sfrmRpts“)
  Als bMM = Waar toen
    bValue = Nz (Vormen! vals sfrmRpts.cDpt,)
  Eind als
  
  Als g_bLoadDept = Waar of bValue = Ware toen Tst_Dpt = Waar

De Functie van het eind


'Open de vorm gaat vóór de Lading van de Vorm in MS-Access

Privé SubForm_Open (annuleer als Geheel)
  Set_Data
Sub van het eind

Privé SubSet_Data ()

  Schemerige sSQL als Koord
  
  Schemerige sMeName als Koord
  Schemerige sStdName als Koord
  Schemerige sShwName als Koord
  Schemerige sTblName als Koord
  
  sMeName = Me.Form.Name
  sTblName = vervang (sMeName, „sfrmShw“, "")
  sStdName = vervang (sMeName, „sfrmShw“, „norm“)
  sShwName = vervang (sMeName, „sfrmShw“, „shw“)
  
  Als This_Table_Exists (sStdName) = Vals toen
  
    sSQL = „SELECTEER“ & KeyCode & „,“ & KEYNAME & „, [toon], 0 ALS Soort IN“ & sStdName
    sSQL = sSQL & „VAN“ & sTblName
    
    CurrentDb.Execute sSQL
    DoEvents
  Eind als
  
  Als This_Table_Exists (sShwName) = Vals toen
  
    sSQL = „SELECTEER“ & KeyCode & „,“ & KEYNAME & „, [toon], 0 als Soort IN“ & sShwName
    sSQL = sSQL & „VAN“ & sStdName
    
    CurrentDb.Execute sSQL
    DoEvents
    
  Eind als
      
  Als Tst_Dpt = Vals toen
    
    sSQL = „SCHRAPPING * VAN [“ & sShwName & „]“
    CurrentDb.Execute sSQL
    
    sSQL = „NEEM IN [“ & sShwName & „] op (“ & KeyCode & „,“ & KEYNAME & „, toon, Soort)“
    sSQL = sSQL & „UITGEZOCHT „“ & SELECTCODE & „“ ZOALS „& KeyCode &“, „„& SELECTALL &““ ZOALS „& KEYNAME &“, Waar ALS tonen, 0 ALS Soort "
    CurrentDb.Execute sSQL
    
    sSQL = het „TUSSENVOEGSEL IN“ & sShwName & „([“ & KeyCode & „], [“ & KEYNAME & „], toont, Soort)“
    sSQL = sSQL & „UITGEZOCHT [“ & sStdName & „]. [“ & KeyCode & „], ''& [“ & KEYNAME & „] ALS DptName, [“ & sStdName & „]. [Toon], 1 ALS DptS“
    sSQL = sSQL & „VAN [“ & sStdName & „]“
    CurrentDb.Execute sSQL
    
  Eind als
  
  sSQL = „SELECTEER“ & tonen KeyCode & „,“ & KEYNAME & „, sorteren“
  sSQL = sSQL & „VAN“ & sShwName
  sSQL = sSQL & „ORDE DOOR Soort,“ & KEYNAME
  Me.RecordSource = sSQL
  
Sub van het eind


Overheidsfunctie IsOpen (ByVal strformname als Koord) zoals Van Boole
Op Fout GoTo Err_IsOpen

    Const conDesignView = 0
    Const conObjStateClosed = 0
    
    IsOpen = Vals
    
    Als SysCmd (acSysCmdGetObjectState, acForm, strformname) <> toen conObjStateClosed
        
        Als Vormen (strformname) .CurrentView <> conDesignView toen
            IsOpen = Waar
            
        Eind als
        
    Eind als
    
Exit_IsOpen:
    De Functie van de uitgang
    
Err_IsOpen:
    Vraag Error_Action (vergis me, Err.description, „modGlobal @ IsOpen“, Erl ())
    Hervat Exit_IsOpen
Beëindig Functie

Antwoord : Hoe te om run-time fout 459 bij het van verwijzingen voorzien van een maar niet helemaal nog geopende vorm die op te lossen nog wordt geladen?

Nevermind, paste ik en voegde het volgende aan toe om mijn probleem op te lossen:
Om het even welke zorgen met wat ik heb gedaan?
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:
Overheidsfunctie IsLoaded (strName als Koord, _
Facultatieve intType als Geheel = acForm) zoals Van Boole
Op Fout GoTo Err_This
'Krijg de huidige staat van het genoemde voorwerp

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

Exit_This:
  De Functie van de uitgang

Err_This:
  Vraag Error_Action (vergis me, Err.description, „modCritiera @ IsLoaded“, Erl ())
  Hervat Exit_This
Beëindig Functie

Privé Functie Tst_Dpt () zoals Van Boole
  
  Schemerige bMM zoals Van Boole
  Schemerige bMMLoad zoals Van Boole
  Schemerige bValue zoals Van Boole

  bMM = IsOpen („frmMainMenu“)
  bMMLoad = IsLoaded („frmMainMenu“)
  
  Als bMM = Waar en bMMLoad = Waar toen
    bValue = Nz (Vormen! frmMainMenu! vals sfrmRpts.Form.cDpt,)
  Eind als
  bMM = IsOpen („sfrmRpts“)
  Als bMM = Waar toen
    bValue = Nz (Vormen! vals sfrmRpts.cDpt,)
  Eind als
  
  Als g_bLoadDept = Waar of bValue = Ware toen Tst_Dpt = Waar

De Functie van het eind
Andere oplossingen  
 
programming4us programming4us