Hantera data med frågor

Fråga orelaterade datakällor

Din webbläsare har inte stöd för video. Installera Microsoft Silverlight, Adobe Flash Player eller Internet Explorer 9.

Ibland behöver du skapa en fråga för att hämta information från datakällor som inte har en direkt (1:1 eller 1:N) relation.

Använd mellanliggande tabeller för att koppla samman datakällor i frågor

När du kör frågan använder Access relationerna du skapat mellan tabellerna och härleder och skapar kopplingar mellan andra datakällor. Om relationen du behöver för en fråga inte finns, ansluter du tabellerna som en del av frågan.

Anta att du vill veta hur många order du mottagit för produkter från olika leverantörer. Din tabell Leverantörer är inte kopplad till tabellen Inköpsorderinformation, som innehåller produkt-ID och kvantitetsinformation. Tabellen Inköpsorder är dock kopplad till tabellen Inköpsorderinformation.

Flera tabelldatakällor, med eller utan fördefinierade relationer.

Tips: Om du kan komma att behöva denna relation även för annat än den fråga du skapar är det bästa att skapa en mellanliggande relation för senare användning. Mer information om hur du gör finns i Skapa många-till-många-relationer.

Om du inte vill skapa den mellanliggande tabellen i din databas, använder du tabellen Inköpsorder som den mellanliggande tabellen i frågan. Lägg till tabellen Leverantörer till vänster om tabellen Inköpsorder och skapa en koppling.

Använda en tabell för att indirekt koppla samman två andra tabeller

Tabellen Inköpsorder kopplar samman de två tabellerna Leverantörer och Inköpsorderinformation. Koppla samman tabellerna med fält (som ID i tabellen Leverantörer och Leverantörs-ID i tabellen Inköpsorder) som uppfyller dessa villkor:

  • De två fälten har matchande eller kompatibla datatyper. Du kan exempelvis inte ansluta ett textfält till ett numeriskt fält.

  • Fälten identifierar matchande, unika poster i varje tabell. Du skulle exempelvis inte koppla ihop två fält med efternamn eftersom efternamn inte är unika.

  • Fälten säkerställer att rätt poster visas. Om du exempelvis kopplar Leverantörs-ID till Inköps-ID, kan du få en del matchningar om dessa ID liknar varandra. Men resultaten kommer inte att vara användbara eftersom Leverantörs-ID inte har något med Inköps-ID att göra. Ett bättre val är att ansluta ID från tabellen Leverantörer till Leverantörs-ID i tabellen Inköpsorder – de poster som visas kommer att vara användbara eftersom båda fälten identifierar leverantören.

Steg

Oavsett om du har en mellanliggande tabell i databasen eller bara planerar att använda en i din fråga, följer du dessa steg:

  1. Lägg till den mellanliggande tabellen till din fråga mellan de två tabellerna som inte har någon relation till varandra.

  2. Skapa alla kopplingar som krävs med den mellanliggande tabellen

    Kopplingar kan använda alla lämpliga kopplingstyper, men måste kopplas samman med fält som uppfyller de villkor som beskrevs tidigare i denna modul.

    Skapa de kopplingar som krävs med den mellanliggande tabellen
  3. Slutföra frågan.

    Följ de normala stegen för att skapa en fråga: lägg till utdatafält, lägg till eventuella villkor och kör eller spara frågan. Information om hur du gör finns i Skapa grundläggande frågor.

    Obs!: Du behöver inte ta med den mellanliggande tabellen i dina resultat. Den behöver bara vara en del av frågans datakällor, så att Access kan ansluta till dessa data.

Vill du veta mer?

Skapa grundläggande frågor

Skapa frågor genom att koppla fler än en datakälla

Skapa frågor med yttre kopplingar

Excel-utbildning

Outlook-utbildning

Ibland behöver du köra frågor för tabeller eller andra datakällor som inte är relaterade och som inte delar en koppling. Det finns två sätt att göra detta.

Du kan använda en mellanliggande tabell, det vill säga en tabell som har kopplingar till de datakällor du vill använda.

Eller också kan du lägga till en koppling.

Vi börjar med en mellanliggande tabell. I den här exempeldatabasen måste anställda ange statusen för varje beställning, men ibland glömmer de det.

Frågan vi vill ha svar på är därför: ”Vilka beställningar saknar status och vilka medarbetare har glömt att ange den?”

Det verkar som att vi behöver använda tre tabeller i frågan: Anställda, Order och Status orderdetaljer eftersom de motsvarar datapunkterna i våra frågor: ”Vilka beställningar saknar status och vilka medarbetare har glömt att ange den?”

När du lägger till tabeller i frågan märker du att de här två tabellerna saknar koppling. Men det är ingen fara. Vi kan lägga till en koppling.

Så vi skapar en koppling via ID-fälten, kör frågan och … ingenting.

Det betyder att vi måste göra det vi borde ha gjort från början. Vi tittar på relationerna mellan tabellerna.

Då ser vi något som liknar en kedja av relationer: Anställda till Order, Order till Orderdetaljer och Orderdetaljer till Status orderdetaljer.

Order och Status orderdetaljer är inte relaterade, men Orderdetaljer är relaterad till dem båda. Vi kan använda Orderdetaljer som mellanliggande tabell.

På så sätt kan vi formulera en regel: Så länge mellanliggande tabeller är en del av din datakälla kan du köra frågor för de orelaterade tabellerna och få ett giltigt resultat.

Du behöver inte ta med den mellanliggande tabellen i resultatet, men den måste vara en del av din frågas datakälla.

Vi lägger till Orderdetaljer i frågan, … använder samma fält … och kör frågan.

Vi filtrerar fram tomma värden. … Och det här är vårt svar.

Nu lägger vi till en koppling i en fråga. Men först ett par regler till.

För det första måste tabeller eller frågor som du vill koppla ha fält med matchande eller kompatibla datatyper.

Datatyperna Tal och Valuta är kompatibla, men det är inte Tal och Text.

För det andra existerar kopplingen bara i frågan. Du skapar inte en ny tabellrelation.

För det tredje måste resultatet vara logiskt. Om kopplingen returnerar data för beställningar och företagets bilar bör du förmodligen börja om.

Anta att vi behöver veta vilka kunder som beställt vilka produkter.

Vi lägger till Kunder, Order och Orderdetaljer i en ny fråga. Vi skapar en koppling. Vi drar Kundnr från tabellen Kunder till matchande fält i tabellen Order.

Här är kopplingslinjen och en till regel: Access placerar fältet som du drar till vänster om den nya kopplingen. Om det inte är vad du vill ha markerar du kopplingslinjen, trycker på Delete och börjar om.

Nu när vi ordnat kopplingen kan vi skapa frågan. Vi lägger till Förnamn och Efternamn från Kunder. Sedan lägger vi till Produkt-ID, … Ordernr, … Kvantitet … och Enhetspris från Orderdetaljer.

Vi kör frågan och får följande resultat.

Nu har du lärt dig två metoder för att skapa frågor för orelaterade datakällor: använd en mellanliggande tabell eller lägg till en koppling för att få svar på din fråga.

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×