---
title: "Välj ut värden i dropdown beroende på valt värde i annan dropdown"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/90630-välj-ut-värden-i-dropdown-beroende-på-valt-värde-i-annan-dropdown"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "higa"
published: "2003-11-17T16:00:28.000Z"
updated: "2003-11-23T11:16:36.000Z"
replies: 7
views: 475
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/90630-välj-ut-värden-i-dropdown-beroende-på-valt-värde-i-annan-dropdown"
---

# Välj ut värden i dropdown beroende på valt värde i annan dropdown

## #1 — higa, 2003-11-17T16:00Z

Jag håller på och försöker lära mig Access men har kört fast.
Som övning försöker jag göra en databas över livsmedelsinköp. Inköp ska registreras i ett formulär där jag vill att man först ska kunna välja affär från en drop-down (från tabellen Affärer), sedan få en drop-down över kategorier (från tabellen Kategorier) och sedan ska drop-down Matvara inte innehålla alla matvaror som finns i tabellen Matvaror, utan bara dom vars kategori överensstämmer med vald kategori i formulärfältet Kategori samt finns registrerade i tabellen Matvaror för den affär som är vald i fältet Affär.

Om jag t ex köper Kesella på Ica så vill jag med andra ord att när jag valt affär och kategori (mjölkprodukter) så ska jag få en lista med just dom mjölkprodukter som jag brukar handla på Ica, dvs dom som i tabellen Matvaror har Affär = Ica och Kategori = mjölkprodukter.

Tabellstrukturen ser ut så här:

Affärer
\+Affär
\+Ort
\+Öppettider och sånt

Kategorier
\+ID
\+Kategori

Matvaror
\+ID
\+Affär
\+Kategori
\+Matvara
\+Förpackning
\+Pris

Inköp (kopplat till formuläret)
\+ID
\+Datum
\+Affär
\+Kategori
\+Matvara
\+Förpackning
\+â-Pris
\+Antal

Mvh Lukas

Permalänk: https://www.webforum.nu/p/90630

## #2 — Engine^, 2003-11-17T16:33Z

Du kan använda dig av händelsen OnAfterUpdate, som finns för Dropdowns. Varje gång du ändrar värde i någon av dessa vill du ju även att listan över produkter ska uppdateras.
Nu vet jag inte vart du vill lista dessa produkter, men det räcker med att du ändrar och uppdaterar det objektets RecordSource. Såhär kan det se ut

```
Public Sub DinLista_AfterUpdate()
  Dim strSQL As String

  strSQL = "SELECT Matvara FROM Matvaror WHERE Affär = '" & Me.[i]AffärDropDown[/i] & "' AND Kategori = '" & Me.[i]KategoriDropDown[/i] & "'"

  Me.DinLista.RecordSource = strSQL
  Me.DinLista.Requery
End Sub
```

Permalänk: https://www.webforum.nu/p/1206950

## #3 — higa, 2003-11-17T20:30Z

Jag testade att skriva in din kod med justering för namn på dropdown-rutorna, men när jag väljer en affär eller kategori  så startar en felsökning och det står "Kompileringsfel: kan inte hitta metoden eller datamedlemmen" och texten ".RecordSource" markeras.

Min kod ser ut så här:

```
Private Sub dd_affär_AfterUpdate()
  Dim strSQL As String

  strSQL = "SELECT Matvara FROM Matvaror WHERE Affär = '" & Me.dd_affär & "' AND Kategori = '" & Me.dd_kategori & "'"

  Me.dd_matvara.RecordSource = strSQL
  Me.dd_matvara.Requery
End Sub

Public Sub dd_kategori_AfterUpdate()
  Dim strSQL As String

  strSQL = "SELECT Matvara FROM Matvaror WHERE Affär = '" & Me.dd_affär & "' AND Kategori = '" & Me.dd_kategori & "'"

  Me.dd_matvara.RecordSource = strSQL
  Me.dd_matvara.Requery
End Sub
```

Mvh Lukas

Permalänk: https://www.webforum.nu/p/1207078

## #4 — Engine^, 2003-11-17T22:56Z

Åh... ursäkta mig. Den heter *RowSource* inte RecordSource... jag tänkte på fel objekt. :)

Permalänk: https://www.webforum.nu/p/1207130

## #5 — higa, 2003-11-18T20:29Z

Jag ändrade RecordSource till RowSource, att välja affär (dd_affär) och kategori (dd_kategori) går nu bra, men när jag ska välja matvara (dd_matvara) så får jag en alert-box där det står "Data type mismatch in criteria expression"

Permalänk: https://www.webforum.nu/p/1207568

## #6 — @nders, 2003-11-18T20:51Z

Vad är det för datatyper på fälten du använder i SQL-frågan?

Permalänk: https://www.webforum.nu/p/1207582

## #7 — higa, 2003-11-19T20:25Z

Båda fälten (Affär och Kategori) är skapade mha uppslagsguiden, från varsin tabell. Fältet för affär är text, medan fältet för kategori blev tal när jag skapade det. Det "återges" dock i tabellen Matvaror som text, t  ex "såser", "bröd" etc. SQL:en för radkällan är

```
SELECT Kategorier.ID, Kategorier.Kategori
FROM Kategorier;
```

Om jag försöker ändra typ i designläget för "Kategorier" till text så får jag meddelandet "Det går inte att ändra datatyp eller fältstorlek för detta fält. Det ingår i en eller flera relationer. Om du vill ändra fältets datatyp måste du först ta bort relationerna i fönstret relationer" Jag har testat att zappa relationen och skapa uppslaget på nytt, men jag vet inte hur jag får det till att bli text.

Mvh Lukas

Permalänk: https://www.webforum.nu/p/1211037

## #8 — higa, 2003-11-23T11:16Z

Det fixade sig nu när jag zappade Kategorier.ID och använde Kategorier.Kategori som enda fält. Tack för hjälpen!

Men nu till nästa problem: Hur gör jag om jag vill att textrutan "a-pris" ska få det pris som motsvaras av vald matvara i dd.matvara efter uppdatering?
Priset ligger i Matvaror.Pris

Permalänk: https://www.webforum.nu/p/1212300

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/90630-välj-ut-värden-i-dropdown-beroende-på-valt-värde-i-annan-dropdown
