Makrók a feltételeket, a blog a titkosítás

Az összes makrót, amit eddig láttunk már egyenes. Ők végezték a makrók érdekében az elejétől a végéig. Ha úgy tűnik, egy kicsit monoton, azaz úgy, ahogy van. De a makró nem kell maradni. Akkor hagyjuk, hogy a döntéseket, és hajtsa végre a feltételes makrókat. És a jutalom, hogy nagyon könnyű beállítani.

Ahhoz, hogy hozzon létre egy makrót a feltétel az alkalmazni kívánt oszlop Condition (Feltétel). Általában ez nem jelenik meg. Annak érdekében, hogy látható legyen a Macro tervező, kattintson a Ribbon Munka makrók | Tervező> Megjelenítés vagy Elrejtés> Feltételek (Macro Tools | tervezés> Megjelenítés / elrejtés> Feltételek).

Nem csoda, hogy az állapot oszlopban meghatározott feltételek mellett. A feltétel hasonló a kifejezés, de ez az eredmény mindig ad két érték egyikét: Igaz vagy hamis. Kapcsolódás a program ellenőrzi a feltételt, és úgy dönt, hogy használja azt, hogy végre vagy nem a megfelelő makrót. (A nyelv a programozók az úgynevezett vizsgálati körülmények között.)

Itt van, hogy ezt a mechanizmust.

| Ha hagyja üresen az oszlopot állapotban (mint a közönséges makrók), Access program mindig végrehajtja ezt a makrót, ha nem áll vissza, egy hiba miatt;

| Ha a feltétel van állítva, és az igazság, Access végrehajtja a megfelelő makró;

| Ha a feltétel van beállítva, és a hazugság, Access makro kihagyások, és ugrik a következő parancsot a listából.

Röviden - Van egy módja annak, hogy futtatni a makrót csak alkalmanként, szükség szerint.

Ebben a vita, egy érdekes kérdés: hogyan lehet létrehozni egy állapot? A legegyszerűbb típusú állapotok összehasonlítjuk két különböző jelentése van. Itt egy példa:

Ez a feltétel összehasonlítja az aktuális érték a vezérlő elem TermékNév „Baloney” szót (Bologna kolbász). Ha az aktuális TermékNév tartalmazza a szöveg (és csak neki), a feltétel igaz. Ha termék_neve tartalmaz mást, a feltételek eredményeként - Lies.

Néha kap egy feltételt, amely ellentétes volna létrehozni. A nehéz időkben bármikor megváltoztathatja a feltétel fordított forgalomba a szó elejére Nem. Feltétel: Nincs [ProductName] = „Baloney” csak akkor igaz, ha az aktuális tétel nem tartalmazza az összes kedvenc húskészítmény.

Az egyenlőségjel (=) - az egyik fő összetevője a feltételes logika, de nem az egyetlen lehetőség. Használhatja a „nagyobb, mint” jelei művelet (>), és a „kevesebb, mint” (<) и оператор "не равно" (о). Далее приведено выражение, проверяющее, больше ли числовое поле определенного значения:

A nagyobb hatás, akkor hozzá a keverékhez a kedvenc Access funkciót. (4. és 7. fejezetben ismerteti a különböző hasznos funkciókat.) A következő a feltétele, hogy teszteljék a mező hosszát és TRUE területén kevesebb, mint három karakter:

Len ([FirstName]) <3

Ehelyett, az üzemeltetők, hogy eddig látott, hogy saját környezetben, akkor használja ezt a funkciót, ami az eredmény igaz vagy hamis. A szakértők az úgynevezett programozás hatására, amely lehet igaz vagy hamis, és nem más, mint egy logikai érték, miután a brit supermathematics George Boole.

Az Access programban van néhány visszatérő függvények logikai értékeket, de a leginkább figyelemre méltó az ilyen típusú csillag galaxis az úgynevezett IsNull (). Ahogy már korábban tanultuk, hiányos területek - egy olyan területen, amely nem tartalmaz adatot. IsNull () függvény ellenőrzi, hogy a mező üres vagy kontroll. Itt van, hogyan lehet használni, hogy érzékeli a hiányzó neveket:

Ez az állapot értékben igaz, ha a LastName mező az aktuális nincs adat.

Az ismertetett eljárás - az alapvető feiáiiitóberendezés validációs logika (mint látni fogja a következő fejezetben). Ön a IsNull () függvény segítségével érzékeli a hiányzó adatokat, és figyelmezteti a felhasználót, hogy alkalmazásával a makró, hogy ő kimaradt valami fontos.

Végül, az utóbbi módszer, hogy lehet használni olyan környezetben - a kombináció több körülmény az erősebb superuslovy. Ehhez két kulcsfontosságú szavak, amelyek segítenek, hogy összekapcsolják feltételek: ÉS (AND) és Er (Or).

És ez megköveteli az egyidejű teljesülése mindkét feltétel, így az állapota sokkal súlyosabb. Az alábbi feltétel igaz értéket ad vissza, ha mind a mező és a FirstName és LastName legfeljebb három karakter egyenként:

Len ([FirstName]) <3 And Len([LastName]) <3

Vagy kínál két alternatíva, hogy megfeleljen a feltételeknek. Az alábbi feltétel vissza a valódi eredményt, ha a FirstName vagy LastName mező üres. Hamis értékkel tér vissza, ha mindkét területen egy szöveget.

IsNull ([FirstName]) Vagy IsNull ([LastName])

Ezekkel építőkockák - feltételes, funkciók és kulcsszavak sem, és, és Or - akkor létrehozhat egy olyan feltételrendszer. A következő részben, akkor megjelenik egy példát, ami körülmények dolgozni.

Adatok ellenőrzése a feltételek

Sok Access szoftver guruk makrókat, hogy megakadályozzák a nem megfelelő szerkesztő és más gyanús tranzakciókat az adatokat (például beszúrások és törlések). Most, hogy megértsék, hogyan kell írni egy állapot, akkor könnyen fejleszteni szűrővizsgálat logikája ez a fajta.

Makrók a feltételeket, a blog a titkosítás
Mint tudjuk, a 4. fejezet, az Access program több eszközt, amely megvédi az adatokat a táblázatban, beleértve a beviteli maszk, és feltételeit az értéke a cserét. Mindig meg kell próbálni, hogy használja ezeket az eszközöket kezelése előtt a makrokodirovaniyu. Vannak azonban olyan sok fajta hibák találhatók, melyeket a makrók használatát. Egy gyakori példa - a helyességét egy területen, attól függően, hogy az érték a másik területen.

Az első lépés -, hogy reagáljon a megfelelő eseményeket - elsősorban esemény formák beszúrni, frissítés, és a technika előzetes megerősítését. Amikor ez történik, lehetőség van arra, hogy teljesítik a feltételeket, és hogy megtalálja köztük hibás. Ha látsz valamit, ami nem tetszik, használja CancelEvent (CancelEvent) befejezni a folyamatot megszakítja, és így megszünteti beszúrás, frissítés vagy törlés.

Ábra. 15.21. Ha a jelölőnégyzetet Kérek értesítést a különleges ajánlatokról (Kérjük, értesítsen akciók), a WantsEmail mező beállítása Igen. De ez a felvétel egy probléma - az E-mail, ha nincs érték

A CancelEvent parancsnak nincs érvek - ez csak megszakítja az éppen futó folyamatokat. CancelEvent működik minden esetben, szóval kezdődik „előtte” ( „előtte”), ami azt jelenti, egy igazi szándékát végrehajtani a műveletet, de még nem a nagyon végrehajtását.

Tegyük fel, hogy szeretnénk létrehozni egy egyszerű feltétellel, hogy leállítja a frissítést adott rekordot. Tekintsük az ábrán látható alakú. 15.21.

Szükséged lesz a következő logikai állapota:

WantsEmail = igen és IsNull ([EmailAddress])

Ez a feltétel értéke igaz, ha WantsEmail igen és EmailAddress üres. Ha ez megtörtént, akkor itt az ideje, hogy megszünteti a frissítést a makró CancelEvent.

Nincs más választás. Használhatja a makró helyére ZadatZnachenie helytelen értékeket. De mint általában, akkor jobb, hogy a felhasználó a frissítés elvégzése, próbálja meg a hibát elhárítani.

Amikor egy eseményt törölték, nem állítja vissza az összes módosítást. Esemény lemondás csak megakadályozza, hogy a művelet befejezését. Ha megváltoztatja a rekordot, és próbálja mozgatni egy másik rekordot, egy esemény bekövetkezik, mielőtt frissítené (frissítés előtt). Ha a makró megszünteti az esemény, az Access programban tiltja költözni egy másik rekordot, és hagyja ugyanazon a helyen. De a jelenlegi rekord még Edit módban az összes módosított érték. A vállalkozás célja, hogy megoldja a problémát, vagy nyomja A teljes elutasítása kísérletek frissíteni.

Feltételes makro CancelEvent - a magját számos érvényesítés makrókat. De meg kell még egy utolsó simítás: hibaüzenet. Ellenkező esetben a felhasználó a frissítés elvégzése nem hiszem, mi volt az. Ő lesz hajlamos azt hinni, hogy az Access tényleg elrepült a síneken.

Ahhoz, hogy egy hibaüzenetet jelenít meg, akkor a makró jelentés (MsgBox). Érthető, hogy a megjeleníteni kívánt hibaüzenetet csak ha hiba lépne fel, így CancelEvent parancsok és üzenetek tartalmaznia kell a feltételeket.

Az Access programban fantasztikus gyorsulást jelent megmentésére, ha szükséges, hogy ugyanazt a makro kétszer. Ismétlése helyett azonos feltételek mellett minden makró (ami egy kicsit idegesítő) egyszerűen nyomja meg a három pont (...) a Feltétel oszlopban az egyes következő makrókat. Ez a három pont - egy rövidített változata Access jelzik programot használja a feltétele a korábbi makró.

Ábra. 15.22 ábra mutatja a teljes makro, ábrán látható. 15.23 - fut makrókat.

Makrók a feltételeket, a blog a titkosítás

Ábra. 15.22. Ez a makró áll két makrók a feltételt. Ahhoz, hogy rögzítse a hibás adatok, csatlakoztassa azt az eseményt, mielőtt a frissítést, és a betét