Válassza ki a lekérdezéseket az Accessben. Lekérdezések létrehozása a Microsoft Accessben

Tantárgy: Táblázatok közötti kapcsolatok létrehozása. Kiválasztási lekérdezés készítése paraméterrel és végső lekérdezéssel.

Nyissa meg az előző laborban létrehozott adatbázist A TF dékáni hivatala .

Táblázatok közötti kapcsolatok létrehozása

Válasszon ki egy objektumot az adatbázis ablakban Táblázatok . Kattintson a " gombra Rendszer adat "az eszköztáron vagy hajtsa végre a parancsot" Szolgáltatás »  « Rendszer adat " a parancsmenü segítségével. Egy ablak jelenik meg a képernyőn: Rendszer adat "és ablak" Kiegészítés táblázatok "(18. ábra).

Rizs. 18. Adatséma párbeszédpanel és Táblázat hozzáadása párbeszédpanel

Az ablakban" Kiegészítés táblázatok "a lapon" Táblázatok » listázza az összes adatbázistáblát. A táblák közötti kapcsolatok létrehozásához át kell helyeznie őket a " Kiegészítés táblázatok "az ablakon át" Rendszer adat " Táblázat átviteléhez jelölje ki egy egérkattintással, majd kattintson a „ Hozzáadás " A szükséges táblázatok átvitele után zárja be az ablakot " Kiegészítés táblázatok ».

Az összes tábla áthelyezése az ablakba" Rendszer adat " Méretezze át a táblázat ablakait úgy, hogy az összes szöveg látható legyen (19. ábra).

Táblák közötti kapcsolat létrehozása Diákok És Értékelések vminek megfelelően Adatséma az egérkurzort a mezőre kell mozgatnia Diákkód az asztalban Diákok és az egérgomb megnyomásával húzza ezt a mezőt a mezőre Diákkód az asztalban Értékelések , majd engedje fel az egérgombot. Az ablak " változás kapcsolatokat "(20. ábra).

Ellenőrizze az ingatlant" Biztonság sértetlenség adat ", ha rákattint. Jelölje be a jelölőnégyzeteket a tulajdonságoknál " Vízesés frissítés összefüggő mezőket "És" Vízesés törlés összefüggő mezőket " Ezzel csak a táblázatban lévő rekordokat szerkesztheti Diákok , és a táblázatban Értékelések ezek a műveletek a kapcsolt rekordokon automatikusan végrehajtásra kerülnek.

A kapcsolat létrehozásához kattintson a " gombra Teremt ».

Rizs. 19. Az adatbázis adatséma megjelenése " A TF dékáni hivatala» csatlakozások létrehozása előtt

Rizs. 20. Párbeszédpanel a táblamezők közötti kapcsolati paraméterek megadásához

Ugyanígy szerint Adatséma kapcsolatok jönnek létre a fennmaradó táblák között (21. ábra).

Rizs. 21. Adatbázis adatséma " A TF dékáni hivatala»

Válaszoljon az adatdiagram ablak bezárásakor Igen az elrendezés mentésével kapcsolatos kérdésre.

Az adatbázistáblák között létrehozott kapcsolatok módosíthatók.

A kapcsolatok megváltoztatásához fel kell hívnia az ablakot " Rendszer adat " Ezután vigye az egérmutatót a módosítandó kapcsolatra, és kattintson a jobb gombbal. Megjelenik egy helyi menü (22. ábra):

Rizs. 22. Kommunikációs helyi menü

Ha a " parancsot választja Töröl ", akkor a megerősítés után a kapcsolat törlődik. Ha módosítania kell a kapcsolatot, válassza ki a " változás kapcsolat " Ezt követően a megjelenő ablakban " változás kapcsolatokat " (a tetején) válassza ki a táblázatban azokat a mezőket, amelyeket linkelni szeretne, és kattintson a gombra " Teremt ».

Kérések

A lekérdezések egy vagy több tábla adatainak kiválasztására vagy keresésére szolgálnak. Lekérdezések segítségével több tábla adatait tekintheti meg, elemezheti és módosíthatja. Adatforrásként is használhatók űrlapok és jelentések készítéséhez. A lekérdezések lehetővé teszik az összegek kiszámítását és kompakt formátumban történő megjelenítését, valamint számítások végrehajtását rekordcsoportokon.

A kéréseket módban fogjuk kidolgozni Tervező .

BAN BEN Hozzáférés A következő típusú lekérdezéseket hozhatja létre:

    Minta kérés . Ez a leggyakrabban használt kéréstípus. Ez a típusú lekérdezés egy vagy több tábla adatait adja vissza, és táblázatként jeleníti meg. A kiválasztási lekérdezések használhatók rekordok csoportosítására, összegek, átlagok kiszámítására, rekordok megszámlálására és más típusú összegek keresésére is. A kiválasztási feltételek megváltoztatásához módosítania kell a kérést.

    Kérjen paraméterekkel . Ez egy olyan prompt, amely végrehajtásakor saját párbeszédpanelt jelenít meg, amelyben meg kell adnia a mezőbe beszúrni kívánt adatot vagy értéket. Ez az adat vagy érték a kérés minden egyes alkalommal változhat.

    Keresztkérelem . Számításokhoz és adatok olyan szerkezetben történő megjelenítéséhez használják, amely megkönnyíti az elemzésüket. A keresztmetszeti lekérdezés kiszámítja az értékek összegét, átlagát, számát, vagy egyéb statisztikai számításokat végez, majd az eredményeket egy táblázatba csoportosítja két adathalmaz között, amelyek közül az egyik az oszlopfejléceket, a másik pedig a sorfejléceket határozza meg.

    Változtatási kérelem . Ez egy olyan lekérdezés, amely több rekordot módosít vagy mozgat egy műveletben. Négyféle változtatási kérelem létezik:

1. Bejegyzés törlése. Ez a lekérdezés rekordok egy csoportját törli egy vagy több táblából.

2. A rekord frissítéséhez. Általános módosításokat hajt végre egy vagy több tábla rekordcsoportján. Lehetővé teszi a táblázatokban lévő adatok módosítását.

3. Rekordok hozzáadása. Egy vagy több tábla rekordcsoportját hozzáfűzi egy vagy több tábla végéhez.

4. Táblázat létrehozása. Új táblát hoz létre egy vagy több tábla adataiból vagy azok egy részéből.

    Kérések SQL . Nyelvi utasítások alapján készült SQL , használt DB .

Szeretnék MS Access 2003-ban létrehozni egy paraméterezett lekérdezést, és bizonyos űrlapelemek értékeit átadni ebbe a lekérdezésbe, majd megkapni a megfelelő eredménykészletet, és elvégezni vele néhány alapvető számítást. Röviden bemutatom, hogyan töltheti fel a lekérdezési paramétereket űrlapelemekkel. Ha VBA-t kell használnom, az rendben van.

5 válasz

Az űrlapon lévő vezérlőkre való hivatkozások közvetlenül használhatók az Access lekérdezésekben, bár fontos paraméterként megadni őket (ellenkező esetben a legújabb verziói A hozzáférés kiszámíthatatlan lehet, ha valaha megbízható volt).

Például, ha egy lekérdezést a MyForm LastName vezérlője alapján szeretne szűrni, akkor ezt használja kritériumként:

LastName = Űrlapok!Sajátűrlap!Vezetéknév

PARAMÉTEREK [!Saját űrlap!] Szöveg (255); SELECT tblCustomers.* FROM tblCustomers WHERE tblCustomers.LastName=!;

Viszont azt szeretném megkérdezni, hogy miért van szükséged erre a célra egy tárolt lekérdezésre. Mit csinálsz az eredményekkel? Megjeleníti őket egy űrlapon vagy jelentésben? Ha ez a helyzet, akkor ezt megteheti az űrlap/jelentés rekord forrásában, és a mentett lekérdezést változatlanul hagyja a paraméterekkel, hogy más környezetben is használható legyen anélkül, hogy a paraméterek feltöltésére felszólítás jelenne meg.

Másrészt, ha valamit kódban csinál, csak írja be az SQL-t menet közben, és használja az űrlapvezérlő literális értékét a WHERE záradék létrehozásához.

Itt van egy kódrészlet. Frissíti a táblázatot a txtHospital paraméterrel:

Set db = CurrentDb Set qdf = db.QueryDefs("Kórház hozzáadása") qdf.Parameters!txtHospital = Trim(Me.HospName) qdf.ReturnsRecords = Hamis qdf.Execute dbFailOnError = intqdRefs.

Íme egy példa az SQL-re:

PARAMÉTEREK txtKórházi szöveg(255); INSERT INTO tblHospitals() VALUES()

Három hagyományos módszer létezik a probléma megkerülésére:

  1. Állítsa be a paramétert olyan értékre, hogy a felhasználó a lekérdezés futtatásakor értéket kérjen.
  2. Link mező az űrlapon (esetleg rejtett)
  3. Készítse el a lekérdezést menet közben, és ne használjon paramétereket.

Szerintem csak az a baj, hogy valami olyasmit kell megadnod, mint [?adja meg az ország ISO kódját], vagy olyan mezőkre mutató hivatkozásokat kell megadnia az űrlapon, mint például: !! .

Ez azt jelenti, hogy ugyanazt a lekérdezést nem használhatjuk fel egynél több helyen, mert különböző mezők szolgáltatják az adatokat, vagy támaszkodnunk kell arra, hogy a felhasználó ne keverje össze az adatbevitelt a lekérdezés futtatásakor. Ha jól emlékszem, nehéz lehet ugyanazt az értéket többször használni egy felhasználó által megadott paraméterrel.

Általában az utóbbi lehetőséget választom, menet közben létrehozom a lekérdezést, és szükség szerint frissítem a lekérdezési objektumot. Ez azonban egy gyakori SQL injekciós támadás (akár véletlenül, akár szándékosan, ismerve a felhasználóimat), és egyszerűen obszcén.

"Ed. Start – a példa befejezéséhez dim qryStartDate dátumként dim qryEndDate dátumként qryStartDate = #2001-01-01# qryEndDate = #2010-01-01# "Szerk. "QUOTEING "stalion" vége: Paraméterek átadása egy lekérdezésnek VBA-ban nagyon egyszerű: "Először beállítunk néhány változót: Dim qdf As Querydef Dim Rst As Recordset "majd megnyitjuk a lekérdezést: Set qdf = CurrentDB.QueryDefs(qryname) "Most értékeket rendelünk a lekérdezéshez a paraméterek beállításával: qdf.Parameters(0) = qryStartDate qdf.Parameters(1) = qryEndDate "Most a querydef-et egy rekordkészlet és futtassa Set rst = qdf.OpenRecordset "Futtasson kódot a rekordkészleten "Minden objektum bezárása rst.Close qdf.Close Set rst = Semmi Set qdf = Semmi

(Ezt magam nem teszteltem, csak valamit, amit az utazásaim során gyűjtöttem össze, mert időnként ezt szerettem volna megtenni, de végül az egyik korábban említett kludge-met használtam)

Szerkesztés végre volt okom ezt használni. Itt van a tényleges kód.

"... Dim qdf As DAO.QueryDef Dim prmOne As DAO.Parameter Dim prmTwo As DAO.Parameter Dim először rekordkészletként "... "nyisd meg a lekérdezést: Set qdf = db.QueryDefs("my_two_param_query") " A param_one és a "param_two" összekapcsolja a DAP.Parameters-t a lekérdezéssel Set prmOne = qdf.Parameters!param_one Set prmTwo = qdf.Parameters!param_two "állítsa be a paraméterek értékeit prmOne = 1 prmTwo = 2 Set rst. (dbOpenDynaset , _ dbSeeChanges) "... kezelje a rekordkészletet a szokásos módon ", győződjön meg róla, hogy takarította magát utána Set rst = Nothing Set prmOne = Nothing Set prmTwo = Nothing Set qdf = Semmi

DoCmd.SetParameter "frontMthOffset", -3 DoCmd.SetParameter "endMthOffset", -2 DoCmd.OpenQuery "QryShowDifference_ValuesChangedBetweenSELECTEDMonths"

Ahol SQL lekérdezés Az Access valójában SQL-t tartalmaz. Például

"select blah from mytable where dateoffset="

Minden egyszerűen működik!

Vegyünk egy példát. a paraméterezett kérés így néz ki:

Válassza ki a Tbl_Country-t.* From Tbl_Country WHERE id_Country = _ [?adja meg az ország ISO-kódját]

és szeretnéd megkapni ezt az értéket ([? enter... country] one) egy olyan űrlapról, ahol vezérlőelemek és néhány adat van. Nos... lehetséges, de ehhez némi normalizálásra van szükség a kódban.

Az egyik megoldás az lenne, ha valamilyen logikát rendelnénk az űrlapvezérlőkhöz, például a vezérlőhöz a fid_Country értéket, amely az id_Country értéket tartalmazza. A lekérdezés ezután karakterláncként ábrázolható:

Qr = "Select Tbl_Country.* From Tbl_Country WHERE id_Country = "

Miután az összes kért adatot megadta az űrlapon, kattintson a „Kérés” gombra. A logika végigmegy az összes vezérlőn, és ellenőrzi, hogy azok jelen vannak-e a kérésben, végül lecseréli a paramétert a vezérlő értékére:

Dim ctl vezérlőként Minden egyes ctl-hez a Me.controls-ban If instr(qr,"[" & ctl.name & "]") > 0 Akkor qr = csere(qr,"[" & ctl.name & "]",ctl .value) End if Next i

Ebben az esetben egy teljesen frissített lekérdezés következik, amelyben a paraméterek valós adatokra cserélődnek. A fid_country típusától függően (karakterlánc, GUID, dátum stb.) előfordulhat, hogy továbbiakat kell hozzáadnia dupla idézőjelek vagy nem kapja meg a végső kérést, például:

Qr = "Select Tbl_Country.* From Tbl_Country WHERE id_Country = ""GB"""

Ez egy teljesen Access-kompatibilis lekérdezés, amellyel rekordkészletet nyithat meg:

Állítsa be: rsQuery = currentDb.openRecordset(qr)

Szerintem itt végeztél.

Ez a téma kritikus fontosságú, ha az Access-alkalmazások fejlesztése a célja. Fel kell ajánlania a felhasználókat szabványos módon adatokat kérni tőlük GUI nem csak lekérdezések futtatására, hanem folyamatos űrlapok szűrésére is (akárcsak az Excelben az "autofilter" opcióval) és a jelentésbeállítások kezelésére. Sok szerencsét!

Tantárgy: Táblázatok közötti kapcsolatok létrehozása. Kiválasztási lekérdezés készítése paraméterrel és végső lekérdezéssel.

Nyissa meg az előző laborban létrehozott adatbázist A TF dékáni hivatala .

Táblázatok közötti kapcsolatok létrehozása

Válasszon ki egy objektumot az adatbázis ablakban Táblázatok . Kattintson a " gombra Rendszer adat "az eszköztáron vagy hajtsa végre a parancsot" Szolgáltatás »  « Rendszer adat " a parancsmenü segítségével. Egy ablak jelenik meg a képernyőn: Rendszer adat "és ablak" Kiegészítés táblázatok "(18. ábra).

Rizs. 18. Adatséma párbeszédpanel és Táblázat hozzáadása párbeszédpanel

Az ablakban" Kiegészítés táblázatok "a lapon" Táblázatok » listázza az összes adatbázistáblát. A táblák közötti kapcsolatok létrehozásához át kell helyeznie őket a " Kiegészítés táblázatok "az ablakon át" Rendszer adat " Táblázat átviteléhez jelölje ki egy egérkattintással, majd kattintson a „ Hozzáadás " A szükséges táblázatok átvitele után zárja be az ablakot " Kiegészítés táblázatok ».

Az összes tábla áthelyezése az ablakba" Rendszer adat " Méretezze át a táblázat ablakait úgy, hogy az összes szöveg látható legyen (19. ábra).

Táblák közötti kapcsolat létrehozása Diákok És Értékelések vminek megfelelően Adatséma az egérkurzort a mezőre kell mozgatnia Diákkód az asztalban Diákok és az egérgomb megnyomásával húzza ezt a mezőt a mezőre Diákkód az asztalban Értékelések , majd engedje fel az egérgombot. Az ablak " változás kapcsolatokat "(20. ábra).

Ellenőrizze az ingatlant" Biztonság sértetlenség adat ", ha rákattint. Jelölje be a jelölőnégyzeteket a tulajdonságoknál " Vízesés frissítés összefüggő mezőket "És" Vízesés törlés összefüggő mezőket " Ezzel csak a táblázatban lévő rekordokat szerkesztheti Diákok , és a táblázatban Értékelések ezek a műveletek a kapcsolt rekordokon automatikusan végrehajtásra kerülnek.

A kapcsolat létrehozásához kattintson a " gombra Teremt ».

Rizs. 19. Az adatbázis adatséma megjelenése " A TF dékáni hivatala» csatlakozások létrehozása előtt

Rizs. 20. Párbeszédpanel a táblamezők közötti kapcsolati paraméterek megadásához

Ugyanígy szerint Adatséma kapcsolatok jönnek létre a fennmaradó táblák között (21. ábra).

Rizs. 21. Adatbázis adatséma " A TF dékáni hivatala»

Válaszoljon az adatdiagram ablak bezárásakor Igen az elrendezés mentésével kapcsolatos kérdésre.

Az adatbázistáblák között létrehozott kapcsolatok módosíthatók.

A kapcsolatok megváltoztatásához fel kell hívnia az ablakot " Rendszer adat " Ezután vigye az egérmutatót a módosítandó kapcsolatra, és kattintson a jobb gombbal. Megjelenik egy helyi menü (22. ábra):

Rizs. 22. Kommunikációs helyi menü

Ha a " parancsot választja Töröl ", akkor a megerősítés után a kapcsolat törlődik. Ha módosítania kell a kapcsolatot, válassza ki a " változás kapcsolat " Ezt követően a megjelenő ablakban " változás kapcsolatokat " (a tetején) válassza ki a táblázatban azokat a mezőket, amelyeket linkelni szeretne, és kattintson a gombra " Teremt ».

Kérések

A lekérdezések egy vagy több tábla adatainak kiválasztására vagy keresésére szolgálnak. Lekérdezések segítségével több tábla adatait tekintheti meg, elemezheti és módosíthatja. Adatforrásként is használhatók űrlapok és jelentések készítéséhez. A lekérdezések lehetővé teszik az összegek kiszámítását és kompakt formátumban történő megjelenítését, valamint számítások végrehajtását rekordcsoportokon.

A kéréseket módban fogjuk kidolgozni Tervező .

BAN BEN Hozzáférés A következő típusú lekérdezéseket hozhatja létre:

    Minta kérés . Ez a leggyakrabban használt kéréstípus. Ez a típusú lekérdezés egy vagy több tábla adatait adja vissza, és táblázatként jeleníti meg. A kiválasztási lekérdezések használhatók rekordok csoportosítására, összegek, átlagok kiszámítására, rekordok megszámlálására és más típusú összegek keresésére is. A kiválasztási feltételek megváltoztatásához módosítania kell a kérést.

    Kérjen paraméterekkel . Ez egy olyan prompt, amely végrehajtásakor saját párbeszédpanelt jelenít meg, amelyben meg kell adnia a mezőbe beszúrni kívánt adatot vagy értéket. Ez az adat vagy érték a kérés minden egyes alkalommal változhat.

    Keresztkérelem . Számításokhoz és adatok olyan szerkezetben történő megjelenítéséhez használják, amely megkönnyíti az elemzésüket. A keresztmetszeti lekérdezés kiszámítja az értékek összegét, átlagát, számát, vagy egyéb statisztikai számításokat végez, majd az eredményeket egy táblázatba csoportosítja két adathalmaz között, amelyek közül az egyik az oszlopfejléceket, a másik pedig a sorfejléceket határozza meg.

    Változtatási kérelem . Ez egy olyan lekérdezés, amely több rekordot módosít vagy mozgat egy műveletben. Négyféle változtatási kérelem létezik:

1. Bejegyzés törlése. Ez a lekérdezés rekordok egy csoportját törli egy vagy több táblából.

2. A rekord frissítéséhez. Általános módosításokat hajt végre egy vagy több tábla rekordcsoportján. Lehetővé teszi a táblázatokban lévő adatok módosítását.

3. Rekordok hozzáadása. Egy vagy több tábla rekordcsoportját hozzáfűzi egy vagy több tábla végéhez.

4. Táblázat létrehozása. Új táblát hoz létre egy vagy több tábla adataiból vagy azok egy részéből.

    Kérések SQL . Nyelvi utasítások alapján készült SQL , használt DB .

Ma elkezdünk egy olyan alkalmazást nézni, mint a − Microsoft Access 2003 , amely saját adatbázisokat hozhat létre ( mdb formátumban), valamint kliens alkalmazásokat készíthet a meglévő MS-alapú adatbázisokhoz SQL szerver. A mai cikk témája új lekérdezések létrehozása lesz az Accessből, ami egyszerre jelent egyszerű lekérdezéseket és különféle funkciókat, nézeteket és eljárásokat. Itt a lekérdezés adatbázis-objektumokra vonatkozik.

A Microsoft Accessről

Microsoft Accessszoftver Microsoft cég, amely egy relációs DBMS. Óriási képességekkel rendelkezik az adatbázisok rendszerezésekor, olyan különálló alkalmazás létrehozása során, amely sok más DBMS-sel kölcsönhatásba léphet. A leggyakoribb kliens-szerver megoldás, ahol a kliens egy Accessben írt alkalmazás ( VBA nyelv, űrlapok és még sok más), a szerver pedig egy DBMS Microsoft SQL Szerver. Az Access azonban más DBMS-ekkel, például MySql-lel vagy PostgreSQL-lel való interakciót is támogatja. Az Access-ről még sokáig beszélhetünk, de a mai cikk célja pontosan a lekérdezések létrehozása ( tárgyakat) az Accessből.

Térjünk át a gyakorlatra, és kezdjük egy egyszerű mdb adatbázissal, pl. hogyan hozhatjuk létre ezeket a lekérdezéseket.

Lekérdezések létrehozása a Microsoft Access 2003 - MDB adatbázisban

Először nyissa meg az adatbázist, majd kattintson az objektumokra "Kérések"és nyomja meg a gombot "Teremt".

Jegyzet! Ez azt jelenti, hogy már van adatbázisa.

És megnyílik Ön előtt egy új ablak a kérés típusának kiválasztásához.

Nézzük meg részletesebben mindegyik kéréstípust.

Lekérdezési típusok az Access 2003-ban – MDB

Konstruktőr- ez egy kérés létrehozása a konstruktor alapján, úgymond be grafikus szerkesztő, de abban át lehet váltani sql módba, és a szokásos módon meg lehet írni a lekérdező szöveget. Az indítás után azonnal megnyílik egy ablak, ahol kiválaszthatja a szükséges táblákat vagy meglévő lekérdezéseket, mivel a meglévő lekérdezések segítségével is kiválaszthatók a szükséges adatok, olyan mintha "teljesítmény".

Ha nem szereti ezt grafikus szerkesztőben csinálni, a menüpontra kattintva átválthat SQL módba "Kilátás", akkor "SQL mód".

Egyszerű kérés- ez, mondhatni, ugyanaz a konstrukciós készlet, csak egy kicsit más típus és kevesebb lehetőség.

Keresztkérelem– ez a tábla úgynevezett transzpozíciója, vagyis olyan adatok kimenete, amelyek vízszintes oszlopokban helyezkednek el, pl. Egy oszlop minden értéke vízszintesen, külön oszlopban jelenik meg. Mindez egy varázsló segítségével történik, így nem lehet probléma.

Ismétlődő bejegyzések– ahogy a neve is sugallja, ez a rekord ismétlődő keresése.

Feljegyzések beosztottak nélkül– ez azon rekordok keresése, amelyek hiányoznak egy adott táblából.

Az mdb adatbázisokkal elég, mivel ritkán használják a vállalatoknál, általában a következő sémát használják - külön klienst írnak, és minden adatot a szerveren tárolnak esetünkben DBMS segítségével - ez az MS SQL Server, ill. az ügyfél az Access (.adp).

Lekérdezések létrehozása a Microsoft Access 2003 - MS SQL Server adatbázisban

Nézzük meg az MS SQL Server alapú Access kliensből új lekérdezések létrehozását ( Feltételezzük, hogy már rendelkezik egy adp-klienssel és egy MS SQL Server alapú adatbázissal).

Jegyzet! Ez a cikk nem jelenti az sql megtanulását, így a cikk elolvasásakor már meg kell értenie az sql alapjait és az adatbázisban található alapvető objektumok fogalmát, mint például: nézet, függvény, eljárás. Ha teljesen új vagy ebben, akkor először természetesen ajánlott elsajátítani az SQL-t, mivel az alábbi kifejezések közül sok nem lesz egyértelmű számodra. Ajánlott cikkek:

  • Mik azok a VIEWS nézetek az adatbázisokban? És miért van rájuk szükség?

Az eleje ugyanaz, megnyitja a projektet, majd kattintson az objektumokra "Kérések"és nyomja meg a gombot "Teremt".

És most részletesebben.

Lekérdezések típusai az Access 2003 - MS SQL Server adatbázisban

Beépített függvénykonstruktor- ez, mondhatni, egy szokványos nézet, csak paramétereket lehet átadni bele, majd néhány lekérdezés lefut a szerveren, és visszajön egy tábla. Ez egy olyan függvény, amely táblázat formájában adja vissza az adatokat. A címe a következő ( ha sql-ről beszélünk):

SELECT * FROM my_test_tabl_func(par1, par2 ……)

Kattintás után "RENDBEN" A funkció létrehozásához a már megszokott ablak jelenik meg a meglévő táblázatok és nézetek hozzáadásához. De általában bezárom ezt az ablakot, és manuálisan írom a kérést egy speciális mezőbe. A mező megjelenítéséhez kattintson a panelen a következőkre:

Ezután, ha bejövő paramétereket szeretne hozzáadni, egyszerűen beírhatja a @ jelet és a változó nevét a feltételbe, például így:

SELECT * FROM tábla WHERE kod = @par

Miután a panelen a függvény tulajdonságainál

a lapon "funkció paraméterek" megjelennek az Ön által megadott paraméterek, és azokat az itt feltüntetett sorrendben kell továbbítani.

Konstruktor megtekintése- ez egy hétköznapi ötlet megalkotása hétköznapi emberek között "Vyukha".

Tárolt eljárás konstruktor– eljárás létrehozása konstruktor segítségével, az elv ugyanaz, mint a fenti függvényeknél. Hadd emlékeztesselek arra, hogy az eljárás egy halmaz sql utasítások, mind a mintavételhez, mind az adatok megváltoztatásához.

Belépés egy tárolt eljárásba– ez egy eljárás létrehozása szövegszerkesztő segítségével, azaz. eljárás tisztán manuális létrehozása. Végül ugyanaz, mint a konstruktor használata. Amikor objektumokat hoz létre szöveg szerkesztő A létrehozási sablont a hozzáférés már automatikusan létrehozza.

Skalárfüggvény bevitele olyan függvényt hoz létre, amely értéket ad vissza. Szövegszerkesztővel készült.

Táblázatfüggvény bevitele olyan függvényt hoz létre, amely egy rekordkészletet ad vissza. Úgy néz ki, mint egy beépített funkció.

A hozzáférési kliensben való megkülönböztetés érdekében különböző ikonokkal rendelkeznek, ugyanazokkal, amelyeket egy adott objektum létrehozásakor lát.

Amikor létrehozza ezeket az objektumokat, a rendszer elmenti őket a szerverre, és nem csak az adp-projektjéből, hanem más kliensekből is használhatja őket.

Természetesen mindezeket az objektumokat létrehozhatja a szerveren például az Enterprise Manager ( elavult, most SQL Server Menedzsment Stúdió ), de ma fontolgatjuk ezen objektumok létrehozásának lehetőségét a hozzáférési kliensből.

Az alapokhoz szerintem ennyi is elég, ha erről bővebben beszélünk, akkor nem fog egy cikkbe beleférni, de szerintem ez is elég bizonyos kérések létrehozásához. De ha kérdése van egy adott funkció vagy eljárás létrehozásával kapcsolatban, kérdezze meg őket a megjegyzésekben, megpróbálok segíteni.

Munka célja: Adatok kiválasztására szolgáló lekérdezések felépítésének és felhasználásának technikáinak tanulmányozása.

Kivégzés előtt laboratóriumi munka Tanulmányoznia kell a következő szakaszokat:

Kérelmek típusai;

Lekérdezések létrehozása tervezési módban;

Az adatkiválasztás feltételeinek rögzítésének szabályai;

Beépített funkciók használata;

Számított mezők létrehozása;

Adatbeviteli/kimeneti formák használata;

Kereszt- és aktív lekérdezések létrehozása.

1. feladat: Hozzon létre egy egyszerű lekérdezést.

1. Nyissa meg az adatbázist Intézet.

2. Kattintson az Adatbázis ablakban a Queries objektumra.

3. A Lekérdezések ablakban kattintson a Létrehozás gombra.

4. Az Új lekérdezés ablakban válassza a Tervezés lehetőséget, majd kattintson az OK gombra.

5. A Táblázat hozzáadása ablakban adja hozzá mind a négy táblát, és zárja be az ablakot.

6. Állítsa be a táblázat ablakainak méretét és elhelyezkedését az adatdiagramban.

7. Húzza a megfelelő mezőneveket (kar neve, N csoport, szaknév, évfolyam N, teljes név) a táblázatablakokból az adatséma alatt található kérőlapra, a megadott sorrendjük betartásával. Használjon egy űrlaposzlopot minden olyan mezőhöz, amelynek szerepelnie kell a kijelölésben.

8. Tekintse meg a kijelölést a VIEW/Table Mode parancs végrehajtásával vagy a Nézet eszköztár gombra kattintva.

9. Ha a kijelölés hibákat tartalmaz, térjen vissza a lekérdezéstervező módba, és javítsa ki a lekérdezést.

10. Zárja be a kérést. Megjelenik egy párbeszédpanel, amelyben meg kell erősítenie, hogy el kívánja-e menteni. Nevezze el a lekérdezést Select1.

2. feladat. Hozzon létre egy egyszerű lekérdezést az adatbázisból való információk lekéréséhez, amely ugyanazokat a mezőket tartalmazza, mint az előző lekérdezés, de csak a kereskedelmi hallgatókról tartalmaz információkat. Az ilyen kérést ún feltételes kérés.

1. Az Adatbázis ablakban másolja ki a Select1 lekérdezést a lekérdezés ikonjának húzásával, miközben lenyomja a Ctrl billentyűt.

2. Nevezze át a lekérdezést Select by Commercial névre. Ehhez kattintson a jobb gombbal a kérés nevére, és válassza ki helyi menü Elem átnevezése.

3. Nyissa meg a lekérdezést tervezési nézetben. Adja hozzá a Kereskedelmi mezőt kéréséhez.

4. Írja be az Igen értéket a Kereskedelmi mező Kiválasztási feltétel mezőjébe.

5. Tiltsa le a megjelenítést, amikor a rendszer a Kereskedelmi mező értékét kéri. Ehhez kapcsolja ki a megjelenítési jelölőnégyzetet ennél a mezőnél.

6. Böngésszen a kijelölés között az eszköztár Futtatás gombjára kattintva.

7. Zárja be a kérést a kérés elrendezésének mentésével.

3. feladat. Hozzon létre egy lekérdezést az egyik csoport legfiatalabb tanulójának vezetéknevének és rekordszámának megkereséséhez.


1. Az Adatbázis ablakban kattintson a Létrehozás gombra, és válassza a Tervezés lehetőséget.

2. A Táblázat hozzáadása ablakban válassza ki a Tanuló táblát. Illessze be a táblázat összes mezőjét az igénylőlapba. Ehhez először jelölje ki az adatdiagram összes mezőjét a Shift billentyűvel, majd húzza a kérésleíró űrlap első sorába.

3. Írjon be egy képletkifejezést a Születési dátum mező Kijelölési feltétele mezőbe a feladatnak megfelelően. Használja az Access Expression Builder eszközt. Ehhez vigye a kurzort a kérésleíró táblázat megfelelő cellájába, és kattintson a Build eszköztár gombra.

4. A Kifejezéskészítő ablakban adja meg a DMax függvény nevét. Ehhez bontsa ki a Funkciók listát az építő bal oldali ablaktáblájában, és válassza a Beépített funkciók lehetőséget. Ezután a középső részablakban válassza ki az By subset függvénykategóriát, majd a jobb oldali részablakban válassza ki a DMax() függvényt. A megfelelő függvény megjelenik az építő főablakában, argumentumaival együtt.

5. Távolítsa el a függvény első argumentumát, és illessze be a helyére a Születési dátum mező nevét, akár közvetlen billentyűzetbevitellel, akár a bal oldali ablaktáblában a Táblázatok listára kattintva, majd a Tanuló táblázatot és a mezőt kiválasztva. benne. Ez utóbbi esetben el kell távolítania az Expression sor nem használt részét. Ezután adja meg a fennmaradó függvényargumentumok értékeit, hogy a függvény a következő végső formát vegye fel: DMax("[Születési dátum]";"Tanuló";"=851")

6. A függvény beírásához a kérésleíró táblázat cellájába kattintson az OK gombra. Zárja be a kérést az elrendezés elmentésével és a Legfiatalabb tanuló mintájának átnevezésével. A lekérdezés eredményének megtekintéséhez kattintson duplán a nevére az adatbázis ablakban.

7. Mutasd be a tanárnak a munkád eredményét!

4. feladat. Hozzon létre egy lekérdezést az egyes csoportokban lévő kereskedelmi tanulók számának megszámlálásához.

1. Hozzon létre új kérés táblák segítségével Kar, Csoport, Hallgató.

3. Állítsa a 3. oszlop kiválasztási feltételét Igen értékre.

4. Állítsa be az űrlap 1. és 2. oszlopát növekvő sorrendbe.

5. Tiltsa le a 3. oszlop adatainak megjelenítését.

6. Írja be a Kereskedelmi mezőt a 4. oszlopba, és cserélje ki az oszlop nevét a Reklám száma mezőre. Ehhez a mező nevét tartalmazó cellának tartalmaznia kell: Reklám száma: Kereskedelmi (az új és a régi oszlopneveket kettősponttal választjuk el)

7. A Csoportműveletek eszköztár gombjára kattintva adja hozzá a Csoportművelet sort az űrlaphoz, és a listából válassza ki a Számlálás műveletet a 4. oszlophoz.

8. Tekintse meg az összesített kijelölést az eszköztár Futtatás gombjára kattintva vagy a QUERY/Run parancs végrehajtásával.

9. A Dashboard View gombra kattintva térjen vissza a Lekérdezéstervezés módba.

10. Mentse el a kérést, és adja meg a Reklámszámlálás csoportonként nevet.

5. feladat. Hozzon létre egy lekérdezést, amely lehetővé teszi egy olyan minta megtekintését, amely tükrözi az egyes karon és csoportokon belüli kereskedelmi hallgatók számát. Az oszlopfejlécek feleljenek meg a karok nevének, a sorfejlécek a csoportszámoknak. A mintának tartalmaznia kell egy összefoglaló oszlopot is, amely tartalmazza az egyes szakokon a kereskedelmi hallgatók teljes számát. Ez a fajta mintavétel megvalósítható keresztlekérdezéssel. Egy ilyen lekérdezés alkalmazásához kívánatos, hogy az adatbázisban 3 karon tanuló hallgatók 5-6 csoportjáról legyen információ.

1. A tervező segítségével hozzon létre egy új lekérdezést a Kar, Csoport, Hallgató táblák segítségével.

2. Az igénylőlap 1. oszlopába írja be a Kar neve mezőt, a 2. oszlopba az N csoport mezőt, a 3. oszlopba pedig a Kereskedelmi mezőt.

3. Hajtsa végre a QUERY/Cross parancsot, vagy kattintson a Lekérdezés típusa eszköztár gombra, és válassza a Kereszt lehetőséget a listából.

4. Válassza ki az értékeket a Kereszttábla űrlap sorában a cellák listájának kibontásával: az 1. oszlopban Sorfejlécek, a 2. oszlopban – Oszlopfejlécek, a 3. oszlopban – Érték.

5. A 3. oszlopban válassza ki a Count funkciót a csoportművelethez.

6. Tekintse meg a keresztmintát a Futtatás gombra kattintva.

7. Összefoglaló oszlop létrehozásához térjen vissza a tervezési módba, és szúrjon be egy másik Kereskedelmi mezőt az igénylőlapba. Írja be az Összes oszlop nevét a mező neve elé: A Csoportművelet sorban válassza a Számlálás lehetőséget, a Kereszttábla sorban pedig a Sorok fejléceit.

8. Táblázat módban csökkentse a kijelölési táblázat oszlopainak szélességét. Ehhez válassza ki az adatokat tartalmazó oszlopokat csoportosan, és futtassa a FORMAT/Oszlopszélesség/Adatszélességhez igazítás parancsot.

9. Tekintse meg a szerkesztett válogatást és mentse el a kérést, a Reklámok száma csoportonként és karonként név megadásával.

10. Egy keresztmetszeti minta hozzávetőleges képe az 1. ábrán látható.

1. ábra. - Keresztmintavétel a kereskedelmi hallgatók számáról csoportok és karok szerint.

6. feladat.Írjon lekérdezést a csoportok listájának listázásához, a lekérdezés részeként kért csoportszámmal. Az ilyen kérést ún kérés paraméterrel. A paraméter a csoportszám. A paraméter értéke a párbeszédablakban kerül megadásra. Kérelem létrehozásához a feltételt tartalmazó cellába szögletes zárójelben kell megadni a kiválasztási feltétel szövegét.

1. A tervező segítségével hozzon létre egy új lekérdezést egy tanulói tábla használatával.

2. Az igénylőlap 1. sorába írja be a táblázat összes mezőjét.

3. Írja be a szöveget a sor cellájába Kiválasztási feltétel az N csoport mezőhöz: [Írja be a csoport számát]

4. Futtassa a kérést, és írja be az egyik csoport számát a megjelenő párbeszédablakban. Böngésszen a választékban. Mentse el a kérést, és nevezze el Lekérdezés paraméterrel.

5. Mutasd be a tanárnak a munkád eredményét!




Top