Question : Comment résoudre l'erreur d'exécution 459 sur mettre en référence une forme étant chargée mais pas tout ouverte toujours encore ?

À la ligne article #8 - bValue = Nz (formes ! frmMainMenu ! sfrmRpts. Form.cDpt,) - moi obtient l'erreur 459 - objet faux ou la classe ne soutient pas l'ensemble d'événements ?  Veuillez noter le code ci-dessous : le

It était code fourni à moi eariler mais j'ai dû le tordre à l'URL suivant : le href= " http://www.experts-exchange.com/Microsoft/Development/MS_Access/Access_Coding-Macros/Q_25938812.html " du
sfrmShwPROJ_DPT appelé par subform du osoft/Development/MS_Access/Access_Coding-Macros/Q_25938812.html

This du e.com/Micr de http://www.experts-exchang est dans un autre subform appelé les sfrmRpts et ce subform est une partie du menu principal appelé le frmMainMenu.  Ainsi car la forme de menu principal a appelé le frmMainMenu est ouvert et a chargé le suivant est a couru à l'intérieur du subform mais le menu principal n'est pas complètement dessiné encore.  

As que vous pouvez voir que j'essaye de voir si la forme de menu principal est ouverte avant qu'examinant la valeur d'une commande - mais l'essai que le son ouvert déjà ne m'aide pas à surmonter l'aide d'error.

To expliquent plus loin ce que j'essaye de faire doit éviter d'employer des variables globales et aller de pair avec des commandes sur le menu principal.  Le menu principal contient un secteur où des options de rapport sont choisies dans le subform de sfrmRpts.  Juste alors près des sfrmRpts est l'autre subform (qui n'a aucun raccordement au menu principal ou aux opitons de rapport) que présente simplement des options des depts de filtrage.  le

People peut cliquer dessus un bouton et changer la source de subform et s'ils vont de montrer des depts (sfrmShwPROJ_DPT) aux salles (sfrmShwPROJ_RM) et puis de nouveau aux depts (sfrmShwPROJ_DPT) - je ne veux pas elle crée la table de shwPROJ_DPT encore - je veux qu'elle emploie le shwPROJ_DPT qui a été ajusté.  Ainsi j'emploie la méthode de Tst_Dpt pour dire si je dois créer le recordsource à partir de zéro ou not.

Thanks pour en aident à l'avance.  I l'espoir sûr capricorn1 commente à ce sujet puisqu'il a aidé à développer this.
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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 :
fonction " de " codeSnippet783534 d'id= " de
Private de class= () comme booléen
  
  Faible bMM comme booléen
  Faible bValue comme booléen
  
  bMM = IsOpen (« frmMainMenu »)
  Si le bMM = rectifient alors
    bValue = Nz (formes ! frmMainMenu ! sfrmRpts.Form.cDpt, faux)
  Finir si
  bMM = IsOpen (« sfrmRpts »)
  Si le bMM = rectifient alors
    bValue = Nz (formes ! sfrmRpts.cDpt, faux)
  Finir si
  
  Si le g_bLoadDept = rectifient ou le bValue = rectifient alors Tst_Dpt = rectifient

Fonction de fin


La 'forme ouverte va avant charge de forme dans le MS Access

Form_Open secondaire privé (annulation comme nombre entier)
  Set_Data
Sous-marin d'extrémité

Set_Data secondaire privé ()

  Faible sSQL comme corde
  
  Faible sMeName comme corde
  Faible sStdName comme corde
  Faible sShwName comme corde
  Faible sTblName comme corde
  
  sMeName = Me.Form.Name
  le sTblName = remplacent (sMeName, « sfrmShw », "")
  le sStdName = remplacent (sMeName, « sfrmShw », le « DST »)
  le sShwName = remplacent (sMeName, « sfrmShw », « shw »)
  
  Si This_Table_Exists (sStdName) = faux puis
  
    le sSQL = « CHOISISSENT » et KeyCode et « , » et KEYNAME et « , [exposition], 0 COMME sorte DANS » et sStdName
    sSQL = sSQL et « DE » et sTblName
    
    sSQL de CurrentDb.Execute
    DoEvents
  Finir si
  
  Si This_Table_Exists (sShwName) = faux puis
  
    le sSQL = « CHOISISSENT » et KeyCode et « , » et KEYNAME et « , [exposition], 0 comme sorte DANS » et sShwName
    sSQL = sSQL et « DE » et sStdName
    
    sSQL de CurrentDb.Execute
    DoEvents
    
  Finir si
      
  Si Tst_Dpt = faux puis
    
    sSQL = « SUPPRESSION * DE [ » et sShwName et « ] »
    sSQL de CurrentDb.Execute
    
    sSQL = « INSERTION DANS [ » et sShwName et « ] (" et KeyCode et « , » et KEYNAME et « , exposition, sorte) »
    le sSQL = le sSQL et « CHOISISSENT «  » et SELECTCODE et «  » COMME « et KeyCode et », « « et SELECTALL et » » COMME « et KEYNAME et », vrai COMME exposition, 0 COMME sorte "
    sSQL de CurrentDb.Execute
    
    sSQL = « INSERTION DANS » et sShwName et « ([ » et KeyCode et « ], [ » et KEYNAME et « ], exposition, sorte) »
    le sSQL = le sSQL et « CHOISISSENT [ » et sStdName et « ]. [ » et KeyCode et « ], ''et [ » et KEYNAME et « ] COMME DptName, [ » et sStdName et « ]. [Exposition], 1 COMME DptS »
    sSQL = sSQL et « DE [ » et sStdName et « ] »
    sSQL de CurrentDb.Execute
    
  Finir si
  
  le sSQL = « CHOISISSENT » et KeyCode et « , » et KEYNAME et « , exposition, sorte »
  sSQL = sSQL et « DE » et sShwName
  sSQL = sSQL et « ORDRE PAR Sort, » et KEYNAME
  Me.RecordSource = sSQL
  
Sous-marin d'extrémité


Fonction publique IsOpen (strformname de ByVal comme corde) comme booléen
Sur l'erreur Err_IsOpen GoTo

    conDesignView de Const = 0
    Const conObjStateClosed = 0
    
    IsOpen = faux
    
    Si le <> de SysCmd (acSysCmdGetObjectState, acForm, strformname) conObjStateClosed alors
        
        Si conDesignView de <> de formes (strformname) .CurrentView alors
            IsOpen = rectifient
            
        Finir si
        
    Finir si
    
Exit_IsOpen :
    Sortir la fonction
    
Err_IsOpen :
    Appel Error_Action (errent, Err.description, « @ IsOpen modGlobal », Erl ())
    Résumé Exit_IsOpen
Fonction de fin
class= de

Réponse : Comment résoudre l'erreur d'exécution 459 sur mettre en référence une forme étant chargée mais pas tout ouverte toujours encore ?

Nevermind, j'ai ajusté et ai ajouté le suivant pour résoudre mon problème :
Des soucis avec ce que j'ai fait ?
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 :
Fonction publique IsLoaded (strName comme corde, _
intType facultatif comme nombre entier = acForm) comme booléen
Sur l'erreur Err_This GoTo
'Obtenir l'état actuel de l'objet appelé

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

Exit_This :
  Sortir la fonction

Err_This :
  Appel Error_Action (errent, Err.description, « modCritiera @ IsLoaded », Erl ())
  Résumé Exit_This
Fonction de fin

Fonction privée Tst_Dpt () comme booléen
  
  Faible bMM comme booléen
  Faible bMMLoad comme booléen
  Faible bValue comme booléen

  bMM = IsOpen (« frmMainMenu »)
  bMMLoad = IsLoaded (« frmMainMenu »)
  
  Si le bMM = rectifient et le bMMLoad = rectifient alors
    bValue = Nz (formes ! frmMainMenu ! sfrmRpts.Form.cDpt, faux)
  Finir si
  bMM = IsOpen (« sfrmRpts »)
  Si le bMM = rectifient alors
    bValue = Nz (formes ! sfrmRpts.cDpt, faux)
  Finir si
  
  Si le g_bLoadDept = rectifient ou le bValue = rectifient alors Tst_Dpt = rectifient

Fonction de fin
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us