Техниките за работа с форми - софтуер
Затварянето на формата на друга форма:
От една форма, често е необходимо да се затвори различна форма. Можете, разбира се, преместите точката на вмъкване до нея и изпълни командата и след това да преместите точката на вмъкване обратно към нашата форма:
DoCmd.Close "затваря форма frmPrimer
Аз трябваше да отговорят на тези екстри - и тя работи добре :)
затворете всички отворени форма, въпросът за възможно запазване на промените да отговори с "да", без да ги прехвърлят на фокуса -
DoCmd.Close acForm "frmPrimer", acSaveYes
Всъщност, това би било правилно да го направите:
Ако IsLoaded ( "frmPrimer") След това DoCmd.Close acForm "frmPrimer", acSaveYes
но тя трябва да се съхранява в отделен модул IsLoaded функция:
Функция IsLoaded (strFormName Както стринга) Както Булева
"IsLoaded = (SysCmd (acSysCmdGetObjectState, acForm, strFrmName) = acObjStateOpen)
"Назад към Вярно е, ако формата е отворен във формуляр или лист за оглед
Строителство conObjStateClosed = 0
Строителство conDesignView = 0
Ако SysCmd (acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Тогава
Ако Forms (strFormName) .CurrentView <> conDesignView Тогава
Апел към контрола форма на него, и на процедурите в събития форма модул от други форми:
Тук е необходимо да кажа няколко встъпителни думи думи за събирането на форми обекти форми. Всички отворени форми се добавят автоматично Access'om в тази колекция. Имайте предвид, в тази колекция са отворени само по време на формуляра за код. Ако формата не е отворен, ще възникне грешка. Ето защо, за каквито се харесва на формата се използват, за да се провери функцията IsLoaded (виж по-горе).
Също така се използва префикса форми FRM. Тогава кодът е удобно да се придвижвате в прозорците на различни строители може да се види - когато формата (FRM), където на маса (TBL), и когато искането (qry). Ако формата е подчинена използва префикса (fsub). Лично аз имам всички примери така.
Различни варианти за форми за лечение на:
! Формуляри по образец frmPrimer "на лечението - най-разпространените
Форми [Формуляр за поръчка] ", ако има пропуски във формата на името - името, което трябва да бъдат цитирани.
Форми ( "frmPrimer") ", както и за да можете да се справят, това е колкото искате
Форми (0) "могат да бъдат достъпни чрез индекс форма (това е все същата колекция).
Истината е необходимо да се знае точно на индекса на отворената форма, и то постоянно се променя, в зависимост от последователността на отваряне форми. Може би това е полезно за лечение на всички отворени форми в цикъла.
Особено ревностни фенове на програмирането;) не препоръчват използването на българските имена на обекти, но имам няколко години проблеми в Access е не. Аз бях с такива смесени англо-български имена.
Така например, откриването на сегашната форма frmSimple и извън ще постави фокуса различна форма
но имайте предвид, че ако кодът е след това, например, DoCmd.Close, а след това се затваря frmPrimer форма като код команди се изпълняват вече в нея (което е на фокус). Следете във фокуса на формуляра за превод на формуляра.
Форми! FrmPrimer.Requery "актуализират данните формата, е под формата на frmSimple.
За да получите списък на всички свойства и методи за работа с "дистанционно" форма, да ми пише. (С точка), изберете от падащия списък (Me. Този апел форма на самата) необходимата метод или имота и се прехвърля да се обърне към отдалечен форма.