Maj 152010
 

Flattr this!

Nu ska jag visa hur man kopplar våra tabeller med varandra via ett formulär. Tabellerna och relationerna skapade vi här.

Välj ”Formulär”  i Base och sen ”Skapa formulär med hjälp av guiden”.

Här har vi nu tre olika tabeller att välja mellan. Vi väljer filmtabellen (i mitt fall döpte jag den till Filmtabell för enkelhetens skull) som agerar som huvudtabell och därför blir huvudformulär. Välj fälten Filmnamn och År och tryck ”Nästa”.

Bocka i rutan ”Lägg till underordnat formulär” och välj ”FilmGenre”. Genre visas inte för att filmtabellen inte har någon relation dit utan vi drog en linje mellan FilmId i Filmtabellen och FilmID i FilmGenre. Tryck sen ”Nästa”.

Underformuläret blir i detta fallet FilmGenre eftersom det är där datan vi lägger in kommer att hamna. Välj att flytta över FilmID i formuläret. Detta blir den kompletta kopplingen mellan Filmtabellen och FilmGenre. Tryck ”Nästa”.

Välj att trycka på alternativen jag har markerat. I första fallet fungerar egentligen alternativen 1, 2 och 4. När det gäller det underordnade formuläret så vill vi ha det tabelliknande . Tryck ”Nästa”.

Punkt 6 gör vi ingenting med utan trycker nästa. Punkt 7 är bara rent grafiskt så tryck på ”nästa” när detta är gjort. Välj ett bra namn på formuläret i punkt 8 och tryck ”Färdigställ”.

Som ni kan se så har vi ett bristfälligt underformulär där bara FilmId finns. Denna är fullt komplett kopplad till Filmtabellen som ni kan se på denna bild:

Nu är det kopplingen mellan FilmGenre- och Genretabellen som ska fixas och så här gör man:

Stäng formuläret och gå till Formulär i huvudfönstret och välj där att högerklicka på vårt formulär och välj ”Redigera”.

Nu när vi är i designläget så ska vi fixa en kolumn från Genre-tabellen. Högerklicka till höger om FilmID och välj ”Infoga kolumn”. Välj sen ”listruta” och det kommer att se ut så här:

Högerklicka nu på ”Listruta 1” och välj ”Kolumn”.  Detta fönster kommer visas:

Fönstret innehåller 3 olika flikar, allmänt, data och händelser. Vi fokuserar mest på datafliken, men vi kan ändra etiketten under allmänt så det ser lite snyggare ut. Ändra till Genre istället för ”Listruta 1”.

Gå sen till datafliken och ändra till detta:

”Datafält” ska ändras till ”GenreID”, ”typ av listinnehåll” till sql och sen den allra viktigaste, Listinnehåll. Denna kommer att visa alternativen som går att välja mellan, i vårt fall action, komedi m.m.

Jag fick inte med hela sql-frågan men det ska stå:

SELECT ”Genre”, ”GenreID” FROM ”Genretabell”

Ta notis om att Genre står före GenreID och detta måste vara i denna ordning för annars fungerar det inte. Första fältet anger vad som går att välja mellan, andra fältet är kopplingen till Genredatabasen.

Själva namnen som står här baseras helt och hållet till vad ni har döpt tabellerna till. I mitt fall valde jag Genretabell för att man lätt ska veta att det är en tabell det rör sig om.

Tryck sen på denna knappen för att knappa in uppgifter i databasen:

Ser väl inte så jättesnyggt ut men det fungerar.

Skriv in en film och år och tryck sen under ”Genre” för att välja genre. Man kan välja bland dom som är inskrivna i genretabellen.

Det som inte är speciellt bra här är att när man trycker på underformuläret så blir det i fokus och alltså går det inte att skriva in en ny post i huvudformuläret. Tryck därför någonstans på det beige området för att det ska få fokus igen och tryck sen på pilarna längst ner för att skriva in en ny post.

Så här ser det ut i FilmGenre för min del nu efter att ha knappat in några filmer:

Som ni ser så har jag knappat in 4 filmer från 0-3. Film 0 har två genrer, 0 och 1. I mitt fall betyder detta filmen Dödligt vapen som har FilmID 0. Filmen är en actionkomedi, action fick GenreID 0 och komedi GenreID 1.

Film nummer 2 har FilmID 1 och är en actionfilm osv. Denna tabell matas på för varje ny post man lägger in.

OBS!! Notera att om man mixtrar för mycket med tabeller och kopplingar m.m. så kan det bli något problem på vägen som är oåterkallerligt. I min strävan att skriva detta höll jag på att ändra lite här och där och till slut fungerade inte filmtabellen som den skulle och det var omöjligt att komma ur läget. Mitt val var därför att skapa filmtabellen på nytt för att allt skulle bli normalt igen. För att skapa denna igen så måste man ta bort kopplingen under Verktyg/Relationer.

  One Response to “Skapa formulär till vår relationsdatabas (del 2 av 2)”

  1. Hej Påvel!
    Tack för din utförliga instruktion hur man skapar en relationsdatabas. Jag har suttit länge och tragglat själv och försökt men liksom inte fått till det. Förrän nu! Nu lossnade det på riktigt.
    Jag jobbar just nu i OpenOffice Base, förresten.
    Har letat i hjälper och olika tutorilas på nätet men det är ju ingen mer än du som beskrivit det här livsviktiga steget för hur man verkligen kopplar ihop tabeller så att det fungerar.
    Tack än en gång!
    /Bosse

Kommentera

%d bloggare gillar detta: