Indstillinger for dataforbindelser
Data tilsluttes og registrere ugyldighed
Nogle gange vil du have en tabel, hvor et felt mangler nogle poster. Her er et eksempel på en liste over medarbejdere, hvor nogle poster ikke angiver den afdeling, som medarbejderen tilhører:
SELECT Employees.EmployeeNumber AS [Employee #], Employees.FirstName, Employees.LastName, Employees.DepartmentCode AS Department FROM Employees;
Dette ville producere:
Hvis du opretter en indre joinforespørgsel af to tabeller, der har en relation, og nogle poster i den underordnede tabel mangler nogle værdier i kolonnen med fremmednøgle, vil forespørgslen kun producere de poster, der har en værdi. Her er et eksempel:
SELECT Employees.EmployeeNumber AS [Employee #], Employees.FirstName, Employees.LastName, Departments.DepartmentName AS Department FROM Departments INNER JOIN Employees ON Departments.DepartmentCode = Employees.DepartmentCode;
Dette ville producere:
Bemærk, at forespørgslen producerer færre poster. Som det sker, kan databasemotorer ikke lide nul-poster, især på delte felter, felter, der er involveret i relationer. For at sikre, at alle poster i en undertabel er produceret af en forespørgsel, skal du producere en standardværdi for poster, hvis værdier mangler. Hvis relationen bruger et simpelt heltal, skal du oprette en post med værdien 0. Hvis relationen bruger en streng, kan du oprette en post med en 'N/A'-værdi. Hvis posterne behandles af en computer, kan du oprette en post med en generisk/tilfældig værdi såsom 00000 eller noget i den stil.
Praktisk læring:Håndtering af dataforbindelser og registrerings ugyldighed
- Start Microsoft Access
- Fra de ressourcer, der følger med disse lektioner, skal du åbne Altair Realtors3-databasen
- På båndet skal du klikke på Opret og klikke på Forespørgselsdesign
- I dialogboksen Vis tabel skal du dobbeltklikke på Egenskaber og klikke på Luk
- I egenskabslisten skal du dobbeltklikke på PropertyNumber, City og State
- Skift forespørgslen til dataarkvisning:
- Bemærk antallet af poster:48.
Skift forespørgslen til designvisning - Højreklik på et tomt område øverst i vinduet, og klik på Vis tabel
- I dialogboksen Vis tabel skal du dobbeltklikke på PropertyTypes og klikke på Luk
- I listen PropertyTypes skal du dobbeltklikke på PropertyType
- Skift forespørgslen til dataarkvisning
- Bemærk antallet af poster denne gang:44.
Vis SQL-visningen af forespørgslen, og rediger dens kode som følger:SELECT Properties.PropertyNumber, Properties.City, Properties.State, Conditions.Condition FROM Properties INNER JOIN Conditions ON Properties.Condition = Conditions.Condition;
- Skift forespørgslen til dataarkvisning
- Bemærk antallet af poster:38.
Luk forespørgslen uden at gemme den - I navigationsruden skal du dobbeltklikke på formularen PropertyTypes
- Opret en ny registrering som følger:
Ejendomstype Beskrivelse Ukendt Ejendomstypen er ikke tilgængelig, eller den er ikke klar. Illustrationer - Luk tabellen PropertyTypes
- I navigationsruden skal du dobbeltklikke på formularen Betingelser
- Opret en ny registrering som følger:
Ejendomstype Beskrivelse Ukendt Ejendommens aktuelle tilstand eller udseende (indvendigt og/eller udvendigt) er ikke kontrolleret, ikke vurderet eller er ikke klart kendt. - Luk tabellen Betingelser
- I navigationsruden skal du højreklikke på tabellen Egenskaber og klikke på Designvisning
- I den øverste side af vinduet skal du klikke på PropertyType
- Klik på Standardværdi i bunden, og skriv Ukendt
- I den øverste side af vinduet skal du klikke på Betingelse
- Klik på Standardværdi i bunden, og skriv Ukendt
- Gem tabellen, og skift den til dataarkvisningen
- Vælg Ukendt i kolonnen PropertyType for hver tom celle
- Vælg Ukendt i kolonnen Betingelse for hver tom celle
- Bemærk, at der er en standardværdi for både kolonnerne PropertyType og Condition
- Ved kun at angive de angivne værdier skal du oprette nye poster som følger:
Ejendom # Ejendomstype By Stat Postnummer Soveværelser Badeværelser Færdig kælder Indendørs garage Tilstand Markedsværdi 476005 Single Family Hanover PA 17331 3 2,50 Tjekket 425790 152466 Martinsburg WV 1 1,00 135670 427048 Condominium Alexandria VA 3 2,00 Trænger til reparation 622845 297427 Matinsburg Excellent 729336 Alexandria VA 3 Needs 501ecki 3 01050 3 0105, 3 0105, 3 0105, 3 0105, 3 0105, 3 0105, 3 0105, 3 0105, 3 0105, 3 0105. Afkrydset God form 515885 - Luk tabellen
- På båndet skal du klikke på Opret og klikke på Forespørgselsdesign
- I dialogboksen Vis tabel skal du dobbeltklikke på Egenskaber og klikke på Luk
- I egenskabslisten skal du dobbeltklikke på PropertyNumber, City og State
- Skift forespørgslen til dataarkvisning
- Bemærk antallet af poster:51.
Skift forespørgslen til designvisning - Højreklik på et tomt område øverst i vinduet, og klik på Vis tabel
- I dialogboksen Vis tabel skal du dobbeltklikke på PropertyTypes og klikke på Luk
- På listen PropertyTypes skal du trække PropertyType og slippe den på By i bunden
- I egenskabslisten skal du dobbeltklikke på Soveværelser og badeværelser
- Skift forespørgslen til dataarkvisning
- Bemærk antallet af poster denne gang:51.
Luk forespørgslen uden at gemme den - Åbn Lambda Square Apartments1-databasen, der er oprettet og brugt tidligere
- På båndet skal du klikke på Opret og klikke på Forespørgselsdesign
- I dialogboksen Vis tabel skal du dobbeltklikke på Betalinger og klikke på Luk
- På listen Betalinger skal du dobbeltklikke på ReceiptNumber, PaymentDate, ProcessedBy, RegistrationNumber og PaymentAmount
- Skift forespørgslen til dataarkvisning
- Bemærk antallet af poster:63.
Skift forespørgslen til designvisning - Højreklik på et tomt område i vinduet, og klik på Vis tabel...
- I dialogboksen Vis tabel skal du dobbeltklikke på Medarbejdere og klikke på Luk
- Træk EmployeeNumber og slip det på ProcessedBy
- I den nederste side af vinduet skal du erstatte ProcessedBy med
Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"
- Skift forespørgslen til dataarkvisning
- Bemærk antallet af poster:46.
Luk forespørgslen uden at gemme den - I navigationsruden skal du dobbeltklikke på tabellen Medarbejdere og oprette en ny post som følger (dette er for transaktioner foretaget i banken, såsom en lejer, der indsætter lejepenge direkte i banken):
Medarbejdernummer Fornavn Efternavn Titel 00000 Automatisk behandling af elektronisk transaktion - Luk tabellen Medarbejdere
- I navigationsruden skal du højreklikke på betalingstabellen og klikke på Designvisning
- I den øverste side af vinduet skal du klikke på ProcessedBy
- I bunden skal du klikke på Standardværdi og skrive "00000"
- Gem og luk tabellen
- Åbn betalingstabellen
- Indtast 00000 i kolonnen ProcessedBy i hver tomme celle
- Luk tabellen Betalinger
- På båndet skal du klikke på Opret og klikke på Forespørgselsdesign
- I dialogboksen Vis tabel skal du dobbeltklikke på Betalinger og medarbejdere
- Klik på Luk
- Træk EmployeeNumber og slip det på ProcessedBy
- På listen Betalinger skal du dobbeltklikke på Kvitteringsnummer og Betalingsdato
- Tryk på Tab og skriv
Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"
- På listen Betalinger skal du dobbeltklikke på registreringsnummer og betalingsbeløb
- Skift forespørgslen til dataarkvisning
- Bemærk antallet af poster:63.
Luk forespørgslen uden at gemme den
Samling af mere end to borde
Indtil videre involverede vores sammenslutningserklæringer kun to tabeller. Faktisk kan du bruge flere tabeller end det. Den grundlæggende formel for at forbinde tre tabeller er:
SELECT field-name(s) FROM first-table first-join-type second-table ON condition1 second-join-type third-table ON condition2
Du starter udtrykket ved at forbinde den første til den anden tabel, hvilket betyder, at begge tabeller skal dele en kolonne i en primær nøgle-fremmednøgletype relation. På samme måde kan du oprette den anden join. Selvfølgelig skal den anden og den tredje tabel have en fælles kolonne. I de fleste tilfælde bør der være en kolonne, som alle tre tabeller deler. Det meste af tiden starter relationen med en primær nøglekolonne fra den overordnede tabel. Denne kolonne er så repræsenteret som en fremmednøgle i de to andre tabeller.
Praktisk læring:Deltag i mere end to borde
- På båndet, klik på Opret og klik på Formulardesign
- Klik på fanen Alle i egenskabsarket.
Klik på Optag kilde, og klik på dens ellipse-knap - I Vis tabellen skal du dobbeltklikke på Medarbejdere, registreringer og lejligheder
- Klik på Luk
- Træk EmployeeNumber fra medarbejderlisten, og slip det på ProcessedBy på registreringslisten
- Træk ApartmentCode fra lejlighedslisten, og slip den på PropNbr på registreringslisten
- I registreringslisten skal du dobbeltklikke på RegistrationID og RegistrationDate
- Tryk på Tab og skriv
Employee: [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")"
- I registreringslisten skal du dobbeltklikke på Fornavn, Efternavn, Ægteskabsstatus og Antal Børn
- Tryk på Tab og skriv:
Apartment: "Apart # " & [UnitNumber] & ", " & [Bedrooms] & " bedroom(s), " & [Bathrooms] & " bathroom(s), Rate: " & [MonthlyRate] & "/month"
- Vis SQL-visningen af forespørgslen:
SELECT Registrations.RegistrationID AS [Regist #], Registrations.RegistrationDate AS [Regist Date], [EmployeeNumber] & " - " & [EmployeeName] & " (" & [Title] & ")" AS Employee, Registrations.FirstName, Registrations.LastName, Registrations.MaritalSituation AS Status, Registrations.NumberOfChildren AS Children, "Apart # " & [UnitNumber] & ", " & [Bedrooms] & " bedroom(s), " & [Bathrooms] & " bathroom(s), Rate: " & [MonthlyRate] & "/month" AS Apartment FROM Apartments INNER JOIN (Employees INNER JOIN Registrations ON Employees.EmployeeNumber = Registrations.ProcessedBy) ON Apartments.ApartmentCode = Registrations.PropNbr;
- Luk Query Builder
- Når du bliver spurgt, om du vil gemme ændringerne, skal du klikke på Ja
- Gem formularen som Lejetildelinger
- Dobbeltklik på knappen i skæringspunktet mellem linealerne
- I egenskabsarket skal du ændre følgende egenskaber:
Billedtekst:Lambda Square Apartments - Lejetildeling
Standardværdi:Fortløbende formular
Autocenter:Ja
Navigationsknapper:Nej - På båndet skal du klikke på Design
- I afsnittet Værktøjer skal du klikke på Tilføj eksisterende felter
- I feltlisten, klik på Lejlighed, tryk og hold Shift nede, klik på Registrer #, og slip Shift
- Træk markeringen til formularen
- På båndet, klik på Arranger og klik på Tabel
- Træk markeringen til venstre
- Tryk på Ctrl + A for at vælge alle kontrolelementer
- På båndet skal du klikke på Fjern layout
- Fuldfør designet af formularen. Her er et eksempel:
- Gem og luk formularen
Dataforbindelser og registreringsanalyser
Sortering af poster
I de data joins, vi har oprettet indtil videre, overvejede vi alle poster og lod databasemotoren liste dem ved kun at bruge reglerne for joins indbygget i SQL. For at gøre en sådan liste mere restriktiv kan du anvende nogle betingelser for at isolere nogle poster. Du kan oprette filtrene visuelt i designvisningen af en forespørgsel eller i et lignende vindue. Du kan også oprette et filter i SQL. Som gjort i tidligere lektioner, at inkludere et kriterium i en SELECT erklæring, kan du oprette en WHERE klausul.
Praktisk læring:Introduktion af tilslutninger og dataanalyse
- Åbn Monson University1-databasen, der blev brugt tidligere
- For at starte en forespørgsel skal du på båndet klikke på Opret og klikke på Forespørgselsdesign
- Klik på Luk i dialogboksen Vis tabel
- Højreklik på toppen af vinduet, og klik på SQL View
- Rediger sætningen som følger:
SELECT EmployeeNumber AS [Employee #], FirstName AS [First Name], LastName AS [Last Name], Title, DepartmentName AS Department FROM Employees, Departments WHERE Employees.DepartmentCode = Departments.DepartmentCode ORDER BY LastName;
- Se et eksempel på resultaterne i dataarkvisningen
- Klik om nødvendigt på Hjem på båndet.
Skift følgende egenskaber:
Skrifttypenavn:Californisk FB (hvis du ikke har den skrifttype, vælg Times New Roman)
Skriftfarve:Blå, Accent 1, Lysere 80 % (Temafarver:5. kolonne, 2. række)
Baggrundsfarve:Flere farver:Rød:195, Grøn:95, Blå:15
Gitterlinjer:Vandrette
Alternativ rækkefarve:Flere farver:Rød:128, Grøn:0, Blå:0 - Luk forespørgslen uden at gemme den
- Luk Microsoft Access