---
title: "Data från 2 tabeller"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/6550-data-från-2-tabeller"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "erka"
published: "2000-09-06T14:37:00.000Z"
updated: "2000-09-09T18:54:00.000Z"
replies: 21
views: 406
page: 1
pages: 2
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/asp/6550-data-från-2-tabeller"
---

# Data från 2 tabeller

_Sida 1 av 2._

## #1 — erka, 2000-09-06T14:37Z

Hejsan, jag har inte tidigare gjort något sådant här och skulle bli glad om jag fick lite enkel vägledning

Jag har en databas med 2 tabeller FILM och REGI. 

```
Films row
filmid = räknare 
regiid = vilken regisörs id (har gjort en relation i acess)
text = recenscion av filmen
langd = langd av filmen

Regi Rows
Regiid = räknare
Namn = Regisörens namn
```

På första sidan 

```
<%@ LANGUAGE=VBScript %>
<%	dim art
	Set Connection = Server.CreateObject("ADODB.Connection")
	DataBas = "DBQ=" & Server.MapPath("film.mdb")
	Set Database = Server.CreateObject("ADODB.Connection")
	Database.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & Databas
	SQLStmt = "SELECT * FROM FILM"
	Set RS = Database.Execute(SQLStmt)
%>

<% Do until RS.EOF %> 
<b><%=RS("text")%></b><br>
<%=RS("langd")%><br><br>
<% art = "SELECT * FROM REGI"
Set art= Database.Execute(art)
%>
<a href="regi.asp?id=<%=art("regiid")%>"><%=art("namn")%></a><br>
<%RS.MoveNext
Loop
RS.Close
%>
```

Hur gör jag för att han ska hämta regisörens namn till varje film han räknar upp. Går deti nte att göra på något annat sätt än att sätta en ny databaskoppling (art).

Sen har jag regi.asp

```
<%@ LANGUAGE=VBScript %>
<%
	Set Connection = Server.CreateObject("ADODB.Connection")
	DataBas = "DBQ=" & Server.MapPath("film.mdb")
	Set Database = Server.CreateObject("ADODB.Connection")
	Database.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & Databas
	SQLStmt = "SELECT * FROM REGI WHERE Regiid = " & Request.Querystring("id") & ""
	Set RS = Database.Execute(SQLStmt)
%>

<%=RS("namn")%>
```

Känner att detta är helt fel sätt, måste finnas något annat BÄTTRE sätt. Jag vill gärna ha lite tips, url tipps, vad jag gör som är så korkat

MYCKET TACKSAM.
Funderande erik

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

## #2 — emission, 2000-09-06T15:20Z

Jo, med en join (relationen i Access har ingen direkt betydelse)

SELECT f.\[text\],f.langd,r.namn FROM FILM f, REGI r WHERE f.regiid=r.Regiid

Då får du ut regissörens namn redan i första sökningen.

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

## #3 — erka, 2000-09-06T16:37Z

Hej jag skrev då här nu

```
<%@ LANGUAGE=VBScript %>
<% dim art
Set Connection = Server.CreateObject("ADODB.Connection")
DataBas = "DBQ=" & Server.MapPath("film.mdb")
Set Database = Server.CreateObject("ADODB.Connection")
Database.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & Databas
SQLStmt = "SELECT f.[text],f.langd,r.namn FROM FILM f, REGI r WHERE f.regiid=r.regiid"
Set RS = Database.Execute(SQLStmt)
%>

<% Do until RS.EOF %> 
<b><%=RS("text")%></b><br>
<%=RS("langd")%><br><br>

<%=RS("regiid")%><br>
<%RS.MoveNext
Loop
RS.Close
%>
```

jag får felmedelandet

```
ADODB.Recordset fel '800a0cc1' 

Objektet kunde inte hittas i mängden med det begärda namnet eller numret. 

/filmer/default.asp, rad 16
```

det är alltså, \<%=RS("regiid")%\>, men i databasen så stämmer det. ?? Vad betyder egentligen f.\[text\] att man sätter \[ klämmor på den men inte de andra ?

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

## #4 — emission, 2000-09-06T16:45Z

Du måste plocka ut alla kolumner du vill referera till.

SELECT f.\[text\],f.langd,f.regiid,r.namn FROM FILM f, REGI r WHERE f.regiid=r.Regiid

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

## #5 — @nders, 2000-09-06T16:50Z

du måste sätta klämmor runt alla fält som heter någonting 'olagligt', i detta fall kolumnen text. text är ett reserverat ord, därför klamrar runt.

även om man kan komma förbi 'reservationen' kan det vara bra att aldrig använda sig av reserverade ord.

en vän till mig (också wf:are) har som standard att alltid namnge allting med början "x\_", så en kolumn med namnet text får namnet x_text.

det är en bra idé även om jag själv är för lat för att använda det ;)

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

## #6 — erka, 2000-09-06T17:45Z

Ja det funkade, tack så mycket för hjälpen. Nu för att lära mig har jag suttit och försökt rada upp alla filmer som regisören har gjort när man läser om honom på regi.asp. Men det vill sig inte, kommer inte underfund med hur jag ska skriva select sattsen. Om man nu kan skriva den så..

```
<%@ LANGUAGE=VBScript %>
<%
	Set Connection = Server.CreateObject("ADODB.Connection")
	DataBas = "DBQ=" & Server.MapPath("film.mdb")
	Set Database = Server.CreateObject("ADODB.Connection")
	Database.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & Databas
	SQLStmt = "SELECT r.regiid, r.historia, r.fodd, r.namn FROM REGI r, FILM f WHERE r.regiid = " & Request.Querystring("id") & ""
	Set RS = Database.Execute(SQLStmt)
%>

<b>Namn:</b><%=RS("namn")%><br>
<b>Född:</b><%=RS("fodd")%><br>
<b>Bakgrund:</b><%=RS("historia")%><br>

<% Do Until RS.EOF %>
<%=RS("text")%>
<% 
RS.MoveNext
Loop
RS.Close
%>
```

Jag ska alltså Rada upp alla filmer (f.text) som har likadant f.regiid som r.regiid men jag lyckas inte skriva select sattsen. De ska ju skrivas ut som f.text oxå. Finns det några url som tar upp just det jag har problem med.

Om man inte frågar får man inge veta..om man inte läser får man inte heller veta...

tack för hjälpen hitills killar, ni är ju för trevliga..

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

## #7 — erka, 2000-09-06T17:49Z

```
SQLStmt = "SELECT r.regiid, r.historia, r.fodd, r.namn, f.[text], f.regiid FROM REGI r, FILM f WHERE r.regiid = " & Request.Querystring("id") & ""
```

 

plockar ju ut dem, men den tar med alla...hmmm

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

## #8 — erka, 2000-09-06T17:51Z

```
SQLStmt = "SELECT r.regiid, r.historia, r.fodd, r.namn, f.[text], f.regiid FROM REGI r, FILM f WHERE f.regiid = " & Request.Querystring("id") & " AND r.regiid"
```

var det som skulle med inte den som kom i inlägget innan, han skriver ju ut 2 av varje film...

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

## #9 — erka, 2000-09-06T17:53Z

```
	SQLStmt = "SELECT r.regiid, r.historia, r.fodd, r.namn, f.[text], f.regiid FROM REGI r, FILM f WHERE f.regiid = " & Request.Querystring("id") & " AND r.regiid=f.regiid
```

TACK KILLAR!

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

## #10 — @nders, 2000-09-06T17:54Z

prova:

```
SQLStmt = "SELECT DISTINCT r.regiid, r.historia, r.fodd, r.namn, f.[text], f.regiid FROM REGI r, FILM f WHERE f.regiid = " & Request.Querystring("id") & " AND f.regiid = r.regiid"
```

mvh

**r** ja så där ja! :) **/r**

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

## #11 — erka, 2000-09-07T15:01Z

vad betyder distinct ?

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

## #12 — @nders, 2000-09-07T15:07Z

att den inte hämtar poster där specificerade fält är lika.

har du två records som är exakt likadana i ditt recordset, kan du slänga på distinct så har du bara en av dem.

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

## #13 — erka, 2000-09-08T12:13Z

Tack så mycket. Nu har jag tänkt att lägga till skådisar också, ska jag göra en tabell för skådisar där jag ger dem vilka filmer de är med i genom att ha en row för filmid. Men om en skådis är med i flera filmer, måste jag då göra tex, 4 rows tex filmid1, filmid2 osv. 

Detta blir ju skitkrånligt. Har du kanske någe smartare förslag..

Mvh.

Erka som just köpt SAMS SQL 3:e upplagan som skithus litteratur

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

## #14 — Vide, 2000-09-08T12:15Z

Skapa en länktabell...

Tabell: actor
fält:
id, skadis, film

Sedan så lägger du bara in vilken skådis det är och vilken film... är det två filmer så skapar du bara en post till...

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

## #15 — erka, 2000-09-08T12:20Z

Om jag då har Edward Norton och ska ha med han american history x och fight club. Då skapar jag två poster med olika id och samma innehåll fast olika filmid.

FInns det inget smidagare sätt att tex. sätta in filmid på actor tabellen och ha tex information om de 2 filmer han är med i samma row ?

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

## #16 — erka, 2000-09-08T12:24Z

om jag ska ha massa info om skådisen, historia osv. då är det smartast att skapa en tilltabel med skådisens uppgifter eller hur ?

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

## #17 — PatrikB, 2000-09-08T12:48Z

Hello,

ja det är bäst. Annars kommer databasen att växa väldigt mycket och samma information kommer att finnas på flera stället i tabellen, det är inte bra.

I tabellen med skådisar, skapa ett fält där du lägger in film id så att det ligger i databasen på detta vis:

1,23,76,

Du kan då hämta denna sträng och splita upp den till en array och sedan loopa igenom genom den och hämta film info,

Hade precis ett liknande "problem" med en databas som ska lagra kennlar och de kan ju föda upp flera olika raser,
Inlägget kan du hitta [Här!](http://cgi.webforum.nu/wf/Forum42/HTML/000110.html)

cya
PatrikB

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

## #18 — erka, 2000-09-08T13:17Z

grr

```
<%@ LANGUAGE=VBScript %>
<%
	Set Connection = Server.CreateObject("ADODB.Connection")
	DataBas = "DBQ=" & Server.MapPath("film.mdb")
	Set Database = Server.CreateObject("ADODB.Connection")
	Database.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & Databas
	SQLStmt = "SELECT f.[text], f.filmid, f.regiid, f.langd, f.res, r.regiid, r.namn, s.id, s.skadisid, s.filmid FROM FILM f, REGI r, SKADIS s WHERE f.filmid = " & Request.Querystring("id") & " AND r.regiid=f.regiid AND f.filmid = s.filmid"
	Set RS = Database.Execute(SQLStmt)
%>

<b><%=RS("text")%><br></b>
Längd:<%=RS("langd")%><br>
Rescension:<%=RS("res")%><br>
Regisör:<a href="regi.asp?id=<%=RS("regiid")%>"><%=RS("namn")%></a><br>

<br><br>
<% Do Until RS.EOF %>
<a href="skadis.asp?id=<%=RS("filmid")%>"><%=RS("skadisid")%></a><br>
<% 
RS.MoveNext
Loop
RS.Close
%>
```

f.filmid, s.id samt r.regiid är räknare. Men ..

Microsoft\]\[Drivrutin för ODBC Microsoft Access\] Typblandningsfel i uttryck. 

då har ju jag glömt några fnuttar som vanligt...Men vilka..lyckas inte sätta in några bra fnuttar..allt verkar gå åt helvete..

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

## #19 — erka, 2000-09-08T14:03Z

sliter mig i håret..förbannade fnuttar...ingen som är fnuttmaster och vet en hel del om det..räknare ska inte ha ' tecken tror jag..men va fan..

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

## #20 — emission, 2000-09-08T14:17Z

Så länge 

f.filmid
regiid
f.regiid
s.filmid

är antingen "tal" eller "räknare" ska det gå bra.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/6550-data-från-2-tabeller  
Nästa sida: https://www.webforum.nu/amne/asp/6550-data-från-2-tabeller/page2.md
