Tehnicile de lucru cu forme - software
Închiderea forma o altă formă:
Dintr-o formă, este adesea necesar să se închidă o altă formă. Puteți, desigur, a muta punctul de inserare la ea și să execute comanda și apoi mutați punctul de inserare înapoi la formularul nostru:
DoCmd.Close „se închide forma frmPrimer
A trebuit să întâlnesc astfel de clopote și fluiere - și funcționează bine :)
închide orice formă deschisă, problema unei posibile salvarea modificărilor răspunde „da“, fără a transfera aceasta focalizarea -
DoCmd.Close acForm, "frmPrimer", acSaveYes
De fapt, ar fi corect să facă acest lucru:
Dacă IsLoaded ( "frmPrimer") Apoi DoCmd.Close acForm, "frmPrimer", acSaveYes
dar trebuie să fie păstrate într-o funcție separată modul IsLoaded:
Funcția IsLoaded (strFormName ca șir) Ca Boolean
„IsLoaded = (SysCmd (acSysCmdGetObjectState, acForm, strFrmName) = acObjStateOpen)
„Întoarceți-vă la Adevărat, dacă forma este deschisă în formă sau Vizualizare foaie de date
Const conObjStateClosed = 0
Const conDesignView = 0
Dacă SysCmd (acSysCmdGetObjectState, acForm, strFormName) <> Apoi conObjStateClosed
În cazul în care Formulare (strFormName) .CurrentView <> Apoi conDesignView
Apel la controlul forma pe ea, iar procedurile din evenimentele sub formă de module de la alte forme:
Aici este necesar să spun câteva cuvinte introductive cuvinte despre colectarea de forme obiecte Formulare. Toate formele deschise sunt adăugate automat Access'om în această colecție. Notă, în această colecție sunt deschise numai în momentul forma de cod. În cazul în care formularul nu este deja deschis, se va produce o eroare. Prin urmare, pentru orice apel la formularul este utilizat pentru a verifica funcția IsLoaded (vezi mai sus).
De asemenea, utilizează prefixul formulare FRM. Apoi, codul este convenabil pentru a naviga în ferestrele de diferite constructori pot fi văzute - în cazul în care forma (FRM), în cazul în care tabelul (TBL), și în care cererea (qry). În cazul în care formularul este subordonat de a utiliza prefixul (fsub). Personal, am toate exemplele așa.
Diverse opțiuni pentru formele de tratament pentru:
! Formulare formular standard frmPrimer“de tratament - cea mai răspândită
Formulare [Formular de comandă] „în cazul în care există lacune în forma numelui - numele pe care îl trebuie să fie citat.
Formulare ( „frmPrimer“)“, și astfel încât să puteți descurca, e așa cum vă place
Formulare (0) „pot fi accesate prin intermediul formularului de index (este tot aceeași colecție).
Adevărul este necesar să se cunoască cu exactitate indicele formei deschise, și este în continuă schimbare, în funcție de secvența de deschidere a formelor. Poate că este util pentru tratamentul tuturor formelor deschise în cicluri.
Mai ales fanii zeloși de programare;) nu recomandă folosirea numelor românești ale obiectelor, dar am câțiva ani de probleme în Access nu a fost. Am folosit astfel de nume anglo-română mixte.
De exemplu, deschiderea de forma actuală și frmSimple out va seta focalizarea la o altă formă
dar rețineți că în cazul în care codul este apoi, de exemplu, DoCmd.Close, apoi se închide forma frmPrimer ca comenzile de cod sunt executate deja în ea (care sa se concentreze). Păstrați un ochi pe punctul central al formularului de transfer la forma.
Formulare! Actualizare FrmPrimer.Requery“din datele stabilite este în forma frmSimple.
Pentru a obține o listă cu toate proprietățile și metodele de lucru cu forma „remote“, scrie la Mine. (Cu un punct), selectați din lista verticală (Me. Acest formular apel la sine), metoda sau proprietatea necesară și se transferă de a face apel la o formă la distanță.