Velg spørringer i Access. Opprette spørringer i Microsoft Access

Emne: Skape relasjoner mellom bord. Opprette en utvalgsspørring, med en parameter og en siste spørring.

Åpne databasen opprettet i forrige lab Dekankontoret til TF .

Skape relasjoner mellom bord

Velg et objekt i databasevinduet Tabeller . Klikk på knappen " Opplegg data " på verktøylinjen eller utfør kommandoen " Service »  « Opplegg data " ved hjelp av kommandomenyen. Et vindu vises på skjermen: Opplegg data "og vindu" Addisjon tabeller "(Fig. 18).

Ris. 18. Dialogboks for dataskjema og dialogboks for legg til tabell

I vinduet " Addisjon tabeller "på fanen" Tabeller » viser alle databasetabeller. For å opprette relasjoner mellom tabeller, må du flytte dem fra " Addisjon tabeller "ut av vinduet" Opplegg data " For å overføre en tabell, velg den med et museklikk og klikk på knappen " Legg til " Etter å ha overført de nødvendige tabellene, lukk vinduet " Addisjon tabeller ».

Flytt alle bordene til vinduet " Opplegg data " Endre størrelsen på tabellvinduene slik at all teksten er synlig (fig. 19).

For å skape en relasjon mellom tabeller Studenter Og Vurderinger i samsvar med Dataskjema du må flytte musepekeren til feltet Studentkode i bordet Studenter og med museknappen trykket, dra dette feltet inn på feltet Studentkode i bordet Vurderinger , og slipp deretter museknappen. Vinduet " Endring forbindelser "(Fig. 20).

Sjekk eiendommen " Sikkerhet integritet data " ved å klikke på den. Merk av i boksene i egenskapene " Cascade Oppdater i slekt Enger "Og" Cascade sletting i slekt Enger " Dette vil tillate deg å redigere poster bare i tabellen Studenter , og i tabellen Vurderinger disse handlingene på koblede poster vil bli utført automatisk.

For å opprette en tilkobling, klikk på knappen " Skape ».

Ris. 19. Utseende av databasedataskjemaet " Dekankontoret til TF» før du oppretter tilkoblinger

Ris. 20. Dialogboks for å angi tilkoblingsparametere mellom tabellfelt

Likeså iht Dataskjema forbindelser opprettes mellom de resterende tabellene (fig. 21).

Ris. 21. Databasedataskjema " Dekankontoret til TF»

Svar når du lukker datadiagramvinduet Ja på spørsmålet om å lagre oppsettet.

Opprettede relasjoner mellom databasetabeller kan endres.

For å endre tilkoblinger må du ringe vinduet " Opplegg data " Etter dette, plasser musepekeren på tilkoblingen som må endres og høyreklikk. En kontekstmeny vises (fig. 22):

Ris. 22. Kommunikasjon kontekstmeny

Hvis du velger kommandoen " Slett ", så etter bekreftelse vil tilkoblingen bli slettet. Hvis du trenger å endre tilkoblingen, velg kommandoen " Endring forbindelse " Etter det, i vinduet som vises " Endring forbindelser " (øverst i den) velg feltene i tabellene du vil koble til og klikk på knappen " Skape ».

Forespørsler

Spørringer brukes til å velge eller søke etter data fra en eller flere tabeller. Du kan bruke spørringer til å vise, analysere og endre data fra flere tabeller. De brukes også som datakilde for skjemaer og rapporter. Spørringer lar deg beregne totaler og vise dem i et kompakt format, samt utføre beregninger på grupper av poster.

Vi vil utvikle forespørsler i modusen Designer .

I Adgang Du kan opprette følgende typer søk:

    Eksempelforespørsel . Dette er den mest brukte forespørselstypen. Denne typen spørring returnerer data fra én eller flere tabeller og viser dem som en tabell. Utvalgte spørringer kan også brukes til å gruppere poster og beregne summer, gjennomsnitt, telle poster og finne andre typer totaler. For å endre valgbetingelsene må du endre forespørselen.

    Forespørsel med parametere . Dette er en forespørsel som, når den utføres, viser sin egen dialogboks som ber deg angi dataene eller verdien du vil sette inn i et felt. Disse dataene eller verdien kan endres hver gang forespørselen sendes.

    Kryssforespørsel . Brukes til beregninger og presentasjon av data i en struktur som letter deres analyse. En tverrsnittspørring beregner summen, gjennomsnittet, antall verdier eller utfører andre statistiske beregninger, og grupperer deretter resultatene i en tabell på tvers av to sett med data, det ene definerer kolonneoverskriftene og det andre definerer radoverskriftene.

    Forespørsel om endring . Dette er en spørring som endrer eller flytter flere poster i én operasjon. Det er fire typer endringsforespørsler:

1. For å slette en oppføring. Denne spørringen sletter en gruppe poster fra én eller flere tabeller.

2. For å oppdatere posten. Gjør generelle endringer i en gruppe poster i en eller flere tabeller. Lar deg endre data i tabeller.

3. For å legge til poster. Legger til en gruppe poster fra én eller flere tabeller til slutten av én eller flere tabeller.

4. For å lage en tabell. Oppretter en ny tabell fra alle eller deler av dataene fra en eller flere tabeller.

    Forespørsler SQL . Laget ved hjelp av språkinstruksjoner SQL , brukt i DB .

Jeg vil gjerne lage en parameterisert spørring i MS Access 2003 og sende verdiene til visse skjemaelementer inn i den spørringen, og deretter få det tilsvarende resultatsettet og gjøre noen grunnleggende beregninger med dem. Jeg skal kort veilede deg gjennom hvordan du får spørringsparametere til å fylle ut med skjemaelementer. Hvis jeg trenger å bruke VBA, er det greit.

5 svar

Referanser til kontroller på et skjema kan brukes direkte i Access-spørringer, selv om det er viktig å definere dem som parametere (ellers resulterer i siste versjoner Tilgang kan være uforutsigbar hvis den en gang var pålitelig).

Hvis du for eksempel ønsker å filtrere en spørring etter LastName-kontrollen i MyForm, vil du bruke dette som kriteriet:

Etternavn = Forms!MyForm!LastName

PARAMETRE [!MyForm!] Tekst (255); SELECT tblCustomers.* FROM tblCustomers WHERE tblCustomers.LastName=!;

Jeg vil imidlertid spørre hvorfor du trenger en lagret forespørsel til dette formålet. Hva gjør du med resultatene? Vil du vise dem i et skjema eller en rapport? Hvis dette er tilfelle, kan du gjøre dette i skjema-/rapportpostkilden og la den lagrede spørringen være uendret med parameterne slik at den kan brukes i andre sammenhenger uten å vise en melding om å fylle ut parameterne.

På den annen side, hvis du gjør noe i kode, bare skriv SQL-en med en gang og bruk den bokstavelige verdien av skjemakontrollen for å lage WHERE-leddet.

Her er en kodebit. Oppdaterer tabellen ved å bruke parameteren txtHospital:

Sett db = CurrentDb Sett qdf = db.QueryDefs("AddHospital") qdf.Parameters!txtHospital = Trim(Me.HospName) qdf.ReturnsRecords = False qdf.Execute dbFailOnError intResult = qAffected.Record

Her er et eksempel på SQL:

PARAMETRE txtHospital Text(255); INSERT INTO tblHospitals() VERDIER()

Det er tre tradisjonelle måter å omgå dette problemet på:

  1. Sett parameteren til en verdi slik at brukeren blir bedt om en verdi når spørringen kjøres.
  2. Lenkefelt på skjemaet (muligens skjult)
  3. Opprett søket med en gang og ikke bruk parametere.

Jeg tror det bare er feil for meg at du må skrive inn noe sånt som [?skriv inn ISO-koden for landet] eller lenker til felt i skjemaet ditt som: !! .

Dette betyr at vi ikke kan gjenbruke den samme spørringen på mer enn ett sted fordi forskjellige felt gir dataene, eller vi må stole på at brukeren ikke forvirrer dataoppføringen når spørringen kjøres. Så vidt jeg husker kan det være vanskelig å bruke samme verdi mer enn én gang med en brukerinngitt parameter.

Vanligvis ville jeg valgt det siste alternativet, opprettet spørringen på farten og oppdatert spørringsobjektet etter behov. Dette er imidlertid et vanlig SQL-injeksjonsangrep (enten ved et uhell eller med vilje å kjenne brukerne mine), og det er bare uanstendig.

"Ed. Start - for fullføring av eksemplet dim qryStartDate as date dim qryEndDate as date qryStartDate = #2001-01-01# qryEndDate = #2010-01-01# "Ed. Slutt "SITERT "hingst": Å sende parametere til en spørring i VBA " er egentlig ganske enkelt: "Først setter vi noen variabler: Dim qdf As Querydef Dim rst As Recordset "så åpner vi spørringen: Sett qdf = CurrentDB.QueryDefs(qryname) "Nå vil vi tilordne verdier til spørringen ved å bruke parameteralternativet: qdf.Parameters(0) = qryStartDate qdf.Parameters(1) = qryEndDate "Nå skal vi konvertere querydef til en recordset og kjør det Set rst = qdf.OpenRecordset "Kjør litt kode på postsettet "Lukk alle objekter rst.Close qdf.Close Set rst = Nothing Set qdf = Ingenting

(Jeg har ikke testet dette selv, bare noe jeg har samlet på mine reiser fordi jeg nå og da har hatt lyst til å gjøre dette, men endte opp med å bruke en av mine tidligere nevnte kludges)

edit Jeg hadde endelig en grunn til å bruke dette. Her er den faktiske koden.

"... Dim qdf As DAO.QueryDef Dim prmOne As DAO.Parameter Dim prmTwo As DAO.Parameter Dim rst as recordset "... "åpne opp spørringen: Sett qdf = db.QueryDefs("my_two_param_query") "params kalt param_one og "param_two" kobler DAP.Parameterne dine til spørringen Set prmOne = qdf.Parameters!param_one Set prmTwo = qdf.Parameters!param_two "sett verdiene til parameterne prmOne = 1 prmTwo = 2 Setdf.OpenReq (dbOpenDynaset , _ dbSeeChanges) "... behandle postsettet som normalt "sørg for at du rydder opp etter deg.

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

Hvor SQL-spørring Tilgang inkluderer faktisk SQL. For eksempel

"velg bla fra mytable hvor dateoffset="

Alt bare fungerer!

La oss ta et eksempel. den parameteriserte forespørselen ser slik ut:

Velg Tbl_Country.* Fra Tbl_Country WHERE id_Country = _ [?skriv inn ISO-koden for landet]

og du ønsker å kunne hente denne verdien ([? skriv inn... land] en) fra et skjema der du har kontroller og noen data i den. Vel... det kan være mulig, men det krever en viss normalisering av koden.

En løsning ville være å tilordne litt logikk til skjemakontrollene, for eksempel fid_Country for kontrollen, som vil inneholde id_Country-verdien. Din spørring kan deretter representeres som en streng:

Qr = "Velg Tbl_Country.* Fra Tbl_Country WHERE id_Country = "

Når du har lagt inn alle de forespurte dataene i skjemaet, klikker du på "forespørsel"-knappen. Logikken vil gå gjennom alle kontrollene og sjekke om de er til stede i forespørselen, og til slutt erstatte parameteren med kontrollens verdi:

Dim ctl som kontroll For hver ctl i Me.controls Hvis instr(qr,"[" & ctl.name & "]") > 0 Da er qr = replace(qr,"[" & ctl.name & "]",ctl .value) End if Next i

I dette tilfellet vil du ha en fullstendig oppdatert spørring, der parametrene erstattes med ekte data. Avhengig av typen fid_country (streng, GUID, dato osv.) kan det hende du må legge til flere doble anførselstegn eller ikke for å få den endelige forespørselen som:

Qr = "Velg Tbl_Country.* Fra Tbl_Country WHERE id_Country = ""GB"""

Dette er en fullstendig Access-kompatibel spørring som du kan bruke til å åpne et postsett:

Sett rsQuery = currentDb.openRecordset(qr)

Jeg tror du er ferdig her.

Dette emnet er kritisk når målet ditt er å utvikle Access-applikasjoner. Du må tilby brukerne standard måte be om data fra dem GUI ikke bare for å kjøre spørringer, men også for å filtrere kontinuerlige skjemaer (akkurat som Excel gjør med AutoFilter-alternativet) og administrere rapportalternativer. Lykke til!

Emne: Skape relasjoner mellom bord. Opprette en utvalgsspørring, med en parameter og en siste spørring.

Åpne databasen opprettet i forrige lab Dekankontoret til TF .

Skape relasjoner mellom bord

Velg et objekt i databasevinduet Tabeller . Klikk på knappen " Opplegg data " på verktøylinjen eller utfør kommandoen " Service »  « Opplegg data " ved hjelp av kommandomenyen. Et vindu vises på skjermen: Opplegg data "og vindu" Addisjon tabeller "(Fig. 18).

Ris. 18. Dialogboks for dataskjema og dialogboks for legg til tabell

I vinduet " Addisjon tabeller "på fanen" Tabeller » viser alle databasetabeller. For å opprette relasjoner mellom tabeller, må du flytte dem fra " Addisjon tabeller "ut av vinduet" Opplegg data " For å overføre en tabell, velg den med et museklikk og klikk på knappen " Legg til " Etter å ha overført de nødvendige tabellene, lukk vinduet " Addisjon tabeller ».

Flytt alle bordene til vinduet " Opplegg data " Endre størrelsen på tabellvinduene slik at all teksten er synlig (fig. 19).

For å skape en relasjon mellom tabeller Studenter Og Vurderinger i samsvar med Dataskjema du må flytte musepekeren til feltet Studentkode i bordet Studenter og med museknappen trykket, dra dette feltet inn på feltet Studentkode i bordet Vurderinger , og slipp deretter museknappen. Vinduet " Endring forbindelser "(Fig. 20).

Sjekk eiendommen " Sikkerhet integritet data " ved å klikke på den. Merk av i boksene i egenskapene " Cascade Oppdater i slekt Enger "Og" Cascade sletting i slekt Enger " Dette vil tillate deg å redigere poster bare i tabellen Studenter , og i tabellen Vurderinger disse handlingene på koblede poster vil bli utført automatisk.

For å opprette en tilkobling, klikk på knappen " Skape ».

Ris. 19. Utseende av databasedataskjemaet " Dekankontoret til TF» før du oppretter tilkoblinger

Ris. 20. Dialogboks for å angi tilkoblingsparametere mellom tabellfelt

Likeså iht Dataskjema forbindelser opprettes mellom de resterende tabellene (fig. 21).

Ris. 21. Databasedataskjema " Dekankontoret til TF»

Svar når du lukker datadiagramvinduet Ja på spørsmålet om å lagre oppsettet.

Opprettede relasjoner mellom databasetabeller kan endres.

For å endre tilkoblinger må du ringe vinduet " Opplegg data " Etter dette, plasser musepekeren på tilkoblingen som må endres og høyreklikk. En kontekstmeny vises (fig. 22):

Ris. 22. Kommunikasjon kontekstmeny

Hvis du velger kommandoen " Slett ", så etter bekreftelse vil tilkoblingen bli slettet. Hvis du trenger å endre tilkoblingen, velg kommandoen " Endring forbindelse " Etter det, i vinduet som vises " Endring forbindelser " (øverst i den) velg feltene i tabellene du vil koble til og klikk på knappen " Skape ».

Forespørsler

Spørringer brukes til å velge eller søke etter data fra en eller flere tabeller. Du kan bruke spørringer til å vise, analysere og endre data fra flere tabeller. De brukes også som datakilde for skjemaer og rapporter. Spørringer lar deg beregne totaler og vise dem i et kompakt format, samt utføre beregninger på grupper av poster.

Vi vil utvikle forespørsler i modusen Designer .

I Adgang Du kan opprette følgende typer søk:

    Eksempelforespørsel . Dette er den mest brukte forespørselstypen. Denne typen spørring returnerer data fra én eller flere tabeller og viser dem som en tabell. Utvalgte spørringer kan også brukes til å gruppere poster og beregne summer, gjennomsnitt, telle poster og finne andre typer totaler. For å endre valgbetingelsene må du endre forespørselen.

    Forespørsel med parametere . Dette er en forespørsel som, når den utføres, viser sin egen dialogboks som ber deg angi dataene eller verdien du vil sette inn i et felt. Disse dataene eller verdien kan endres hver gang forespørselen sendes.

    Kryssforespørsel . Brukes til beregninger og presentasjon av data i en struktur som letter deres analyse. En tverrsnittspørring beregner summen, gjennomsnittet, antall verdier eller utfører andre statistiske beregninger, og grupperer deretter resultatene i en tabell på tvers av to sett med data, det ene definerer kolonneoverskriftene og det andre definerer radoverskriftene.

    Forespørsel om endring . Dette er en spørring som endrer eller flytter flere poster i én operasjon. Det er fire typer endringsforespørsler:

1. For å slette en oppføring. Denne spørringen sletter en gruppe poster fra én eller flere tabeller.

2. For å oppdatere posten. Gjør generelle endringer i en gruppe poster i en eller flere tabeller. Lar deg endre data i tabeller.

3. For å legge til poster. Legger til en gruppe poster fra én eller flere tabeller til slutten av én eller flere tabeller.

4. For å lage en tabell. Oppretter en ny tabell fra alle eller deler av dataene fra en eller flere tabeller.

    Forespørsler SQL . Laget ved hjelp av språkinstruksjoner SQL , brukt i DB .

I dag skal vi begynne å se på en applikasjon som − Microsoft Access 2003 , som kan lage sine egne databaser ( mdb-format), samt opprette klientapplikasjoner for eksisterende MS-baserte databaser SQL Server. Temaet for dagens artikkel vil være å lage nye spørringer fra Access, som betyr både enkle spørsmål og ulike funksjoner, visninger og prosedyrer. Her refererer en spørring til databaseobjekter.

Om Microsoft Access

Microsoft Accessprogramvare Microsoft-selskap, som er en relasjonell DBMS. Den har enorme muligheter når du organiserer en database, og lager en egen applikasjon som kan samhandle med mange andre DBMS-er. Den vanligste klient-server-løsningen, hvor klienten er en applikasjon skrevet i Access ( VBA-språk, skjemaer og mye mer), og serveren er Microsoft DBMS SQL Server. Access støtter imidlertid også interaksjon med andre DBMS-er, for eksempel MySql eller PostgreSQL. Vi kan snakke om Access i lang tid, men formålet med dagens artikkel er nettopp å lage spørringer ( gjenstander) fra Access.

La oss gå videre til praksis og starte med en enkel mdb-database, dvs. hvordan lage disse spørringene.

Opprette spørringer i Microsoft Access 2003 - MDB-database

Først åpner du databasen, og klikker deretter på objekter "Forespørsler" og trykk på knappen "Skape".

Merk! Dette betyr at du allerede har en database.

Og et nytt vindu for valg av forespørselstype åpnes foran deg.

La oss se på hver av disse forespørselstypene mer detaljert.

Spørringstyper i Access 2003 - MDB

Konstruktør- Dette er å lage en forespørsel basert på konstruktøren, for å si det sånn grafisk redaktør, men i den kan du bytte til sql-modus og skrive spørringsteksten som vanlig. Umiddelbart etter lansering åpnes et vindu der du kan velge de nødvendige tabellene eller eksisterende spørringene, siden eksisterende spørringer også kan brukes til å velge de nødvendige dataene, er det som om "opptreden".

Hvis du ikke liker å gjøre dette i en grafisk editor, kan du bytte til SQL-modus ved å klikke på menyelementet "Utsikt", deretter "SQL-modus".

Enkel forespørsel– dette kan man si er samme byggesett, bare en litt annen type og færre muligheter.

Kryssforespørsel– dette er den såkalte transponeringen av tabellen, med andre ord, utdataene som er plassert i horisontale kolonner, dvs. Hver verdi fra én kolonne vil vises horisontalt i en egen kolonne. Alt dette gjøres ved hjelp av en veiviser, så det skal ikke være noen problemer.

Dupliserte oppføringer– som navnet tilsier, er dette et søk etter dupliserte poster.

Records uten underordnede– dette er et søk etter de postene som mangler i en bestemt tabell.

Med mdb-databaser er det nok, siden de sjelden brukes i bedrifter, bruker de vanligvis følgende skjema - de skriver en egen klient, og alle data lagres på serveren ved hjelp av en DBMS i vårt tilfelle - dette er MS SQL Server, og klienten er Access (.adp).

Opprette spørringer i Microsoft Access 2003 - MS SQL Server-database

La oss se på å lage nye spørringer fra en Access-klient basert på MS SQL Server ( Det forutsettes at du allerede har en adp-klient og en database basert på MS SQL Server).

Merk! Denne artikkelen innebærer ikke å lære sql, så når du leser denne artikkelen bør du allerede forstå det grunnleggende om sql og konseptet med grunnleggende objekter i databasen som: visning, funksjon, prosedyre. Hvis du er helt ny på dette, så anbefales det selvfølgelig først å mestre SQL, siden mange av begrepene nedenfor ikke vil være klare for deg. Anbefalte artikler:

  • Hva er VIEWS-visninger i databaser? Og hvorfor trengs de?

Begynnelsen er den samme, åpner prosjektet, og klikk deretter på objekter "Forespørsler" og trykk på knappen "Skape".

Og nå mer detaljert.

Typer spørringer i Access 2003 - MS SQL Server-database

Innebygd funksjonskonstruktør- Dette, kan man si, er en vanlig visning, bare parametere kan sendes inn i den, deretter utføres noen spørringer på serveren, og en tabell returneres. Det er en slags funksjon som returnerer data i form av en tabell. Det er adressert som følger ( hvis vi snakker om sql):

VELG * FRA my_test_tabl_func(par1, par2 ……)

Etter å ha klikket på "OK" For å lage denne funksjonen vil du se det allerede kjente vinduet for å legge til eksisterende tabeller og visninger. Men jeg lukker vanligvis dette vinduet og skriver forespørselen manuelt i et spesialfelt. Klikk på følgende på panelet for at dette feltet skal vises:

Deretter, hvis du vil legge til innkommende parametere, kan du ganske enkelt sette @-tegnet og navnet på variabelen i tilstanden, for eksempel slik:

VELG * FRA tabell HVOR kod = @par

Etter på panelet i funksjonsegenskaper

på fanen "funksjonsparametere" parametrene du spesifiserte vil vises, og de må overføres i den rekkefølgen de er angitt her.

Se konstruktør- dette er skapelsen av en vanlig idé blant vanlige mennesker "Vyuha".

Lagret prosedyrekonstruktør– å lage en prosedyre ved hjelp av en konstruktør, prinsippet er det samme som i funksjonene ovenfor. La meg minne deg på at prosedyren er et sett sql uttalelser, både for prøvetaking og endring av data.

Gå inn i en lagret prosedyre– dette er opprettelsen av en prosedyre ved hjelp av et tekstredigeringsprogram, dvs. opprettelse av en prosedyre rent manuelt. Til slutt, det samme som å bruke konstruktøren. Når du lager objekter i tekstredigerer Opprettelsesmalen er allerede opprettet automatisk av tilgang.

Gå inn i en skalarfunksjon oppretter en funksjon som returnerer en verdi. Laget ved hjelp av et tekstredigeringsprogram.

Gå inn i en tabellfunksjon oppretter en funksjon som vil returnere et sett med poster. Ser ut som en innebygd funksjon.

For å skille dem i tilgangsklienten har de forskjellige ikoner, de samme som du ser når du oppretter dette eller det objektet.

Når alle disse objektene er opprettet, lagres de på serveren, og du kan bruke dem ikke bare fra adp-prosjektet ditt, men også fra andre klienter.

Selvfølgelig kan du opprette alle disse objektene på serveren ved å bruke for eksempel Enterprise Manager ( avviklet, nå SQL Server Management Studio ), men i dag vurderer vi muligheten for å lage disse objektene fra tilgangsklienten.

For det grunnleggende tror jeg dette er nok, hvis vi snakker om dette mer detaljert, vil det ikke passe inn i en artikkel, men det ser ut til at dette er nok til å lage visse forespørsler. Men hvis du har spørsmål om å lage en bestemt funksjon eller prosedyre, spør dem i kommentarene, jeg vil prøve å hjelpe.

Hensikt med arbeidet: Studere teknikker for å konstruere og bruke spørringer for å velge data.

Før henrettelse laboratoriearbeid Du må studere følgende seksjoner:

Typer forespørsler;

Opprette spørringer i designmodus;

Regler for registrering av datavalgforhold;

Bruke innebygde funksjoner;

Opprette beregnede felt;

Bruke datainn-/utdataskjemaer;

Oppretting av kryss og aktive spørringer.

Oppgave 1: Lag en enkel spørring.

1. Åpne databasen Institutt.

2. Klikk i Database-vinduet på Queries-objektet.

3. I Queries-vinduet klikker du på Opprett-knappen.

4. I New Query-vinduet velger du Design og klikker OK.

5. I vinduet Legg til tabell legger du til alle fire tabellene og lukker vinduet.

6. Juster størrelsen og plasseringen av tabellvinduene i datadiagrammet.

7. Dra de tilsvarende feltnavnene (fakultetets navn, gruppe N, spesialitetsnavn, karakterbok N, fullt navn) fra tabellvinduene til forespørselsskjemaet som ligger under dataskjemaet, og observer deres spesifiserte rekkefølge. Bruk én skjemakolonne for hvert felt som må inkluderes i utvalget.

8. Se utvalget ved å utføre kommandoen VIS/tabellmodus eller ved å klikke på knappen Vis på verktøylinjen.

9. Gå tilbake til spørringsdesignermodus hvis utvalget inneholder feil og korriger spørringen.

10. Lukk forespørselen. En dialogboks vil dukke opp som ber deg bekrefte om du vil lagre den. Gi søket et navn Velg1.

Oppgave 2. Lag en enkel spørring for å hente informasjon fra databasen, inkludert de samme feltene som den forrige spørringen, men inneholder kun informasjon om handelsstudenter. En slik forespørsel kalles betinget forespørsel.

1. I Database-vinduet kopierer du Select1-spørringen ved å dra spørringsikonet mens du trykker på Ctrl-tasten.

2. Gi nytt navn til spørringen til Velg etter reklame. For å gjøre dette, høyreklikk på forespørselsnavnet og velg kontekstmenyen Gi nytt navn til elementet.

3. Åpne spørringen i designvisning. Legg til feltet Kommersiell i forespørselen din.

4. Angi verdien Ja i feltet Utvalgsbetingelse for feltet Kommersiell.

5. Deaktiver visning når du blir bedt om verdien av feltet Kommersiell. For å gjøre dette, slå av visningsboksen for dette feltet.

6. Bla gjennom utvalget ved å klikke på Kjør-knappen på verktøylinjen.

7. Lukk forespørselen, lagre forespørselsoppsettet.

Oppgave 3. Lag en spørring for å finne etternavn og postnummer til den yngste studenten i en av gruppene.


1. I Database-vinduet klikker du på Opprett-knappen og velger alternativet Design.

2. I vinduet Legg til tabell velger du elevtabellen. Sett inn alle feltene i denne tabellen i forespørselsskjemaet. For å gjøre dette, velg først alle feltene i datadiagrammet med Shift-tasten, og dra dem deretter til den første linjen i forespørselsbeskrivelsesskjemaet.

3. Skriv inn et formeluttrykk i feltet Utvalgsbetingelse for feltet Fødselsdato i samsvar med oppgaven. Bruk Access Expression Builder-verktøyet. For å gjøre dette, plasser markøren i den tilsvarende cellen i forespørselsbeskrivelsestabellen og klikk på Bygg-verktøylinjeknappen.

4. I vinduet Expression Builder skriver du inn navnet på funksjonen DMax. For å gjøre dette, utvider du funksjonslisten i venstre rute i byggherren og velger Innebygde funksjoner. I det midterste undervinduet velger du deretter funksjonskategorien Etter delsett, og i høyre undervindu velger du funksjonen DMax(). Den tilsvarende funksjonen vil vises i hovedbyggervinduet med argumentene angitt.

5. Fjern det første argumentet til funksjonen og sett inn navnet på fødselsdatofeltet i stedet, enten ved å skrive inn direkte på tastaturet, eller ved å klikke på listen Tabeller i venstre rute, og deretter velge elevtabellen og feltet i det. I sistnevnte tilfelle må du fjerne den ubrukte delen av Expression-linjen. Deretter skriver du inn verdiene til de gjenværende funksjonsargumentene, slik at funksjonen får følgende endelige form: DMax("[Fødselsdato]";"Student";"=851")

6. For å skrive funksjonen inn i forespørselsbeskrivelsestabellcellen, klikk OK-knappen. Lukk forespørselen ved å lagre oppsettet og gi det nytt navn til Youngest Student Sample. Se resultatet av en spørring ved å dobbeltklikke på navnet i databasevinduet.

7. Vis resultatet av arbeidet ditt til læreren.

Oppgave 4. Lag en spørring for å telle antall kommersielle studenter i hver gruppe.

1. Opprett ny forespørsel ved hjelp av tabeller Fakultet, Gruppe, Student.

3. Sett valgbetingelsen for den tredje kolonnen til Ja.

4. Sett den første og andre kolonnen i skjemaet til å sortere i stigende rekkefølge.

5. Deaktiver visning av 3. kolonnedata.

6. Skriv inn feltet Kommersiell i den fjerde kolonnen og erstatt kolonnenavnet med Nummer på reklame. For å gjøre dette må cellen med feltnavnet inneholde: Antall kommersielle: Kommersielle (nye og gamle kolonnenavn er atskilt med kolon)

7. Ved å klikke på verktøylinjeknappen Group Operations, legg til Group Operation-linjen i skjemaet og velg Count-operasjonen fra listen for fjerde kolonne.

8. Se det totale utvalget ved å klikke på Kjør-knappen på verktøylinjen, eller ved å utføre QUERY/Run-kommandoen.

9. Gå tilbake til Query Design-modus ved å klikke på Dashboard View-knappen.

10. Lagre forespørselen og gi den navnet Counting commercial by groups.

Oppgave 5. Lag en spørring som lar deg se et utvalg som gjenspeiler antall kommersielle studenter for hvert fakultet og hver gruppe. Kolonneoverskrifter skal samsvare med navn på fakulteter, radoverskrifter skal tilsvare gruppenummer. Utvalget bør også inneholde en oppsummeringskolonne med totalt antall handelsstudenter ved hver avdeling. Denne typen prøvetaking kan implementeres ved en kryssspørring. For å bruke en slik spørring er det ønskelig å ha i databasen informasjon om 5-6 grupper studenter som studerer ved 3 fakulteter.

1. Bruk designeren til å lage en ny spørring ved å bruke fakultet-, gruppe-, studenttabellene.

2. Skriv inn feltet Fakultetets navn i 1. kolonne i forespørselsskjemaet, feltet Gruppe N i 2. kolonne og feltet Kommersielt i 3. kolonne.

3. Utfør QUERY/Cross-kommandoen, eller klikk på verktøylinjeknappen Query Type og velg Cross fra listen.

4. Velg verdiene i raden i krysstabellskjemaet ved å utvide listen i cellene: for 1. kolonne Radoverskrifter, for 2. kolonne - Kolonneoverskrifter, for 3. kolonne - Verdi.

5. Velg tellefunksjonen for gruppeoperasjonen i den tredje kolonnen.

6. Se krysseksemplet ved å klikke på Kjør-knappen.

7. For å lage en sammendragskolonne, gå tilbake til designmodus og sett inn et annet kommersiellt felt i forespørselsskjemaet. Skriv inn navnet på Total-kolonnen før navnet på dette feltet: I raden Gruppeoperasjon, velg Count, og i Krysstabell-raden, velg Radoverskrifter.

8. I tabellmodus reduserer du bredden på kolonnene i utvalgstabellen. For å gjøre dette, velg kolonnene med data i grupper og kjør kommandoen FORMAT/Kolonnebredde/Tilpass til databredde.

9. Se det redigerte utvalget og lagre forespørselen, og gi den navnet Antall kommersielle etter grupper og fakulteter.

10. Et omtrentlig riss av en tverrsnittsprøve er vist i fig. 1.

Figur 1. - Kryssprøvetaking av antall handelsstudenter fordelt på grupper og fakulteter.

Oppgave 6. Skriv en spørring for å liste lister over grupper, med gruppenummeret som er forespurt som en del av spørringen. En slik forespørsel kalles forespørsel med parameter. Parameteren er gruppenummeret. Parameterverdien legges inn i dialogboksen. For å opprette en forespørsel må du skrive inn teksten til utvalgsbetingelsen i hakeparenteser i cellen med betingelsen.

1. Bruk designeren til å opprette en ny spørring ved å bruke én Student-tabell.

2. Skriv inn alle feltene i tabellen i 1. linje i forespørselsskjemaet.

3. Skriv inn teksten i cellen på linjen Valgbetingelse for gruppe N-feltet: [Skriv inn gruppenummeret]

4. Kjør forespørselen og skriv inn nummeret til en av gruppene i dialogboksen som vises. Bla gjennom utvalget. Lagre forespørselen og gi den navnet Query with Parameter.

5. Vis resultatet av arbeidet ditt til læreren.




Topp