webForumDet fria alternativet

MS Access SQL-fråga!

Databaser & SQL

8 svar · 464 visningar · startad av apanabel

Medlem sedan juni 20076 inlägg
Frågan#1

Hej!

Sitter och pular lite med en databas i access, och behöver hjälp med att skriva ett SQL-kommando...

Problemet ser ut ungefär såhär

Tabell 1
ID1....... namn
1 .......... Pekka
2 .......... Nils
3 .......... Olle

Tabell 2
ID2....... specifikation
1 .......... 3
2 .......... 1
3 .......... 2
Vad jag vill göra är att värdet i "specifikation" i tabell 2 automatiskt skall få textsträngen från "namn" i tabell 1 returnerad till sig, och då alltså att själva värdet på specifikation skall avgöra vilket namn som returneras.

Exempel: talet "1" i kolumnen specifikation (på rad 2) skall sättas till "Nils" och om jag ändrar värdet till 3 istället kommer det automatiskt bli Olle, etc.

Om jag har antagit rätt skall man gå in på designview i access och skriva SQL-formeln, men var? Och hur?

Hoppas nån kan hjälpa mig..

Medlem sedan juli 200012 978 inlägg
#2

Gör en fråga i Access Koppla fältnamnen direkt, genom att dra och släppa.
Gå sedan över i SQL mode Det gör du under Designknappen.. tredje alternativet.

Medlem sedan juli 200012 978 inlägg
#3

Vid närmare eftertanke känns det inte rätt att ha tabellerna såsom du har beskrivit det.
Kom gärna med ett flödigare exempel på vad du vill åstadkomma, och mycket välkommen till wF skall du vara.

Medlem sedan juni 20076 inlägg
#4

Hej och tack för svaret!

Hänger inte riktigt med när du säger "gör en fråga koppla fältnamnen direkt", är något av en novis i access men har ändå viss förståelse för sql-kommandon etc..

Hm... hur ska jag förklara det bättre. Tänk dig att i mitt exempel så är tabell 1 en slags kodning för tabell två. Jag vill kunna ha siffror i tabell två som automatiskt översätts till namnen i tabell ett enligt dess "nycklar". "specifikation", "id1", "id2", "namn" är kolumnnamn. Klarare? Varför kändes det inte rätt?

Det är iaf på detta sättet som det är tänkt att fungera, har inte riktigt lust och det är heller inte riktigt menat att jag ska ändra på hur databasen är utformad (om inte absolut tvunget)

Medlem sedan juli 200012 978 inlägg
#5

SELECT Tabell1.Namn, Tabell2.Specifikation
FROM Tabell2 INNER JOIN Tabell1 ON Tabell2.Specifikation = Tabell1.Id1;

Medlem sedan juni 20076 inlägg
#6

Intressant! Men ska det verkligen skrivas i designview för tabell 2 under "uppslag"(lookup) för "specifikation"-kolumnen?

Jag testade skriva det där i Radkälla-fältet och har "typ av radkälla" till tabell/fråga och "visa kontroll" till listruta.

Iaf när jag gör så, så funkar det inte som jag avsedde, jag får bara någon slags rulllister som innehåller textvärdena från "namn" i tabell 1...

vad gör jag fel? (kanske ganska mycket=))

Edit: testade även att lägga det som en query helt enkelt, men det enda som jag får då är en tabell där jag kan se specifikations-värdena och deras motsvarande namn... Hur får jag så att namnen hamnar istället för siffrorna i specifikations-kolumnen? Jag vill alltså att det i princip skall vara nummer i den kolumnen, representerade av namn.

Medlem sedan juli 200012 978 inlägg
#7

Jag är ledsen. :(
Jag förstår nog inte den meningen med nummer som representeras av namn.

Medlem sedan dec. 19996 721 inlägg
#8

apanabel skrev:

Edit: testade även att lägga det som en query helt enkelt,

Ja, det är det du ska göra. Det var ju en SQL-fråga du vill ha :)

apanabel skrev:

men det enda som jag får då är en tabell där jag kan se specifikations-värdena och deras motsvarande namn... Hur får jag så att namnen hamnar istället för siffrorna i specifikations-kolumnen? Jag vill alltså att det i princip skall vara nummer i den kolumnen, representerade av namn.

Men har du inte fått ut det du vill ha?

Medlem sedan juni 20076 inlägg
#9

Nej, det har jag inte...

Meningen med nummer representerade av namn är ju helt enkelt att man slipper kolla upp vad en 1a respektive 2a, 3a etc motsvarar hela tiden...

Tror inte riktigt vi förstår varandra emission, vad jag fick ut var att man kunde se namn-strängarna i rull-listor som finns i varje cell i specifikations-kolumnen. Siffrorna byts alltså inte ut mot namnen utan står där fortfarande. Jag vill att det bara ska stå namn i specifikationskolumnen.

254 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)