---
title: "Lista databas med information från två tabeller"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/92391-lista-databas-med-information-från-två-tabeller"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "plelkes"
published: "2003-12-11T07:09:19.000Z"
updated: "2003-12-11T19:32:45.000Z"
replies: 18
views: 496
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/asp/92391-lista-databas-med-information-från-två-tabeller"
---

# Lista databas med information från två tabeller

## #1 — plelkes, 2003-12-11T07:09Z

Hej ,

[Som jag har det nu visar](http://www12.brinkster.com/vatskebalans/tblvetskebalans.asp)  jag innehållet i tblVetskebalans med FluidID.

Men vill ändra detta till att visa med FluidNamn...
Snickrade ihop nedanstående kod

```
<%@ Language=VBScript %>

 <HTML><title>Lista tblV&auml;tskebalans inneh&aring;ll</title>
    <BODY>
 <%
    Set objConn = Server.CreateObject("ADODB.Connection")
   objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\vatskebalans\db\vbalans.mdb")
   strSQL = "SELECT tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, tblVetskebalans.PatID, tblVetskebalans.FluidID, tblVetskebalans.Volym FROM " & _
         "tblVetskebalans, tblFluids WHERE tblVetskebalans.FluidID = tblFluids.FluidID AND" & _
		 " tblFluids.FluidID = tblFluids.FluidNamn"
  [B]Set objRS = objConn.Execute(strSQL)[/B]

 %>
    <TABLE border=1>
       <TR>
          <TD><B>Datum</B></TD>
          <TD><B>Personnummer</B></TD>
          <TD><B>FluidID</B></TD>
          <TD><B>Volym</B></TD>
       </TR>
 <%
 	    Do While Not objRS.EOF
       Response.Write "<TR><TD>" & objRS("Dag") & "</TD>"
       Response.Write "<TD>" & objRS("PatID") & "</TD>"
       Response.Write "<TD>" & objRS("FluidNamn") & "</TD>"
       Response.Write "<TD>" & objRS("Volym") & "</TD></TR>"
       objRS.MoveNext
    Loop
    objRS.Close
    Set objRS = Nothing
    objConn.Close
    Set objConn = Nothing
 %>
    </TABLE>
    </BODY>
 </HTML>
```

 
Men får fleutskriften

> Microsoft JET Database Engine error '80040e07' 
> 
> Data type mismatch in criteria expression. 
> 
> /vatskebalans/tblvetskebalans1.asp, line 11

 
Rad 11 är fet-markerad

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

## #2 — plelkes, 2003-12-11T07:19Z

Upptäckte med 

```
Response.Write strSQL
```

 Första felet:
Det skall ju heta SELECT FROM...

Men nu får jag:

> The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.

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

## #3 — @nders, 2003-12-11T07:22Z

Hmm... Jag tycker SQL-frågan i det första inlägget ser korrekt ut?!?

Om du ska ha villkoret tblFluids.FluidID = tblFluids.FluidNamn i din SQL-fråga gäller att de två fälten är av jämförbara typer / samma datatyp. Är de verkligen det?

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

## #4 — plelkes, 2003-12-11T07:26Z

> **@nders skrev:**
>
> två fälten är av jämförbara typer / samma datatyp

 Nej det var de inte..

Mycket tänka på tydligen

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

## #5 — plelkes, 2003-12-11T07:30Z

Nu har jag ändrat fälten till text... Men inte hjälper det

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

## #6 — @nders, 2003-12-11T07:32Z

På vilket sätt hjälper det inte?
Vad innehåller fälten?
Felmeddelande?

Är också tblVetskebalans.FluidID och tblFluids.FluidID av samma datatyp?

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

## #7 — plelkes, 2003-12-11T08:00Z

Nu har jag ändrat alla fält (hoppas jag) till samma = text - Bifogar databasen för säkerhetsskull

Nedanstående 

```
<%@ Language=VBScript %>

 <HTML><title>Lista tblV&auml;tskebalans inneh&aring;ll</title>
    <BODY>
 <%
    Set objConn = Server.CreateObject("ADODB.Connection")
   objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\vatskebalans\db\vbalans.mdb")
   strSQL = "SELECT FROM tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, tblVetskebalans.PatID, tblVetskebalans.FluidID, tblVetskebalans.Volym FROM " & _
         "tblVetskebalans, tblFluids WHERE tblVetskebalans.FluidID = tblFluids.FluidID AND" & _
		 " tblFluids.FluidID = tblFluids.FluidNamn"
 
Set objRS = objConn.Execute(strSQL)

 %>
    <TABLE border=1>
       <TR>
          <TD><B>Datum</B></TD>
          <TD><B>Personnummer</B></TD>
          <TD><B>FluidID</B></TD>
          <TD><B>Volym</B></TD>
       </TR>
 <%
 	    Do While Not objRS.EOF
       Response.Write "<TR><TD>" & objRS("Dag") & "</TD>"
       Response.Write "<TD>" & objRS("PatID") & "</TD>"
       Response.Write "<TD>" & objRS("FluidNamn") & "</TD>"
       Response.Write "<TD>" & objRS("Volym") & "</TD></TR>"
       objRS.MoveNext
    Loop
    objRS.Close
    Set objRS = Nothing
    objConn.Close
    Set objConn = Nothing
 %>
    </TABLE>
    </BODY>
 </HTML>
```

 Ger utskriften

> SELECT FROM tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, tblVetskebalans.PatID, tblVetskebalans.FluidID, tblVetskebalans.Volym FROM tblVetskebalans, tblFluids WHERE tblVetskebalans.FluidID = tblFluids.FluidID AND tblFluids.FluidID = tblFluids.FluidNamn 
> Microsoft JET Database Engine error '80040e14' 
> 
> The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.

Bilagor:

- [vbalans.zip](https://www.webforum.nu/a/2409.zip)

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

## #8 — @nders, 2003-12-11T08:08Z

> strSQL = "SELECT FROM tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, tblVetskebalans.PatID, tblVetskebalans.FluidID, tblVetskebalans.Volym FROM " & \_
>          "tblVetskebalans, tblFluids WHERE tblVetskebalans.FluidID = tblFluids.FluidID AND" & \_
> 		 " tblFluids.FluidID = tblFluids.FluidNamn"

Nu har du ju faktiskt ändrat din SQL-fråga så syntaxen blev felaktig. Som sagt, jag tycker den såg rätt ut i ditt första inlägg.

```
SELECT fältnamn FROM tabell
```

inte

```
SELECT FROM fältnamn FROM tabell
```

Mvh

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

## #9 — plelkes, 2003-12-11T08:24Z

Tänk att när jag för engångs skull lyckas med min strSQL, så lyckas jag ända strula till det hela -tack @nders för ditt tålamod...

Förrestän:
Igår kväll fungerade på Brinkster nedanstående 

```
<%@LANGUAGE="VBSCRIPT" "%>
<%
Session.LCID = 1053
Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open

pnr= Request.Form("personnr")
d = FormatDateTime(Date, 2)
For each formObj in Request.Form
     If left(formObj,9) = "leggatill" Then
            lngFluidID = Replace(Request.Form(formObj), "leggatill", "")
            strSQL = "INSERT INTO tblVetskebalans(Dag, FluidID, Volym, PatID) VALUES(#" & d & "#,'" & lngFluidID & "'," & Request.Form("volym" & lngFluidID) & ", '" & pnr & "')"

 Response.Write strSQL
vatskeb.Execute strSQL, , 128
   
     End if
Next
            
vatskeb.close
Set vatskeb = Nothing

Response.Redirect "lista_fluids.asp"

 %>
```

 
Men nu får jag

> Type mismatch in expression. 
> vatskeb.Execute strSQL, , 128

dag är av typen datum
FluidID av typen text
volym av typen tal
PatiID av typen text

Undrar vad som har hänt under natten???

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

## #10 — plelkes, 2003-12-11T10:08Z

[Nu när vi har löst förra problemet](http://www.webforum.nu/showthread.php?s=&postid=761725)  så upptäcker jag att koden inte fungerar. 

PÅ vilket sätt?
Ju [innehållet i tabellen](http://www12.brinkster.com/vatskebalans/tblvetskebalans.asp)  listas ej av nedanstående kod

```
<%@ Language=VBScript %>

 <HTML><title>Lista tblVätskebalans innehåll</title>
    <BODY>
 <%
    Set objConn = Server.CreateObject("ADODB.Connection")
   objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\vatskebalans\db\vbalans.mdb")
   strSQL = "SELECT tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, tblVetskebalans.PatID, tblVetskebalans.FluidID, tblVetskebalans.Volym FROM " & _
         "tblVetskebalans, tblFluids WHERE tblVetskebalans.FluidID = tblFluids.FluidID AND" & _
		 " tblFluids.FluidID = tblFluids.FluidNamn"
  Set objRS = objConn.Execute(strSQL)
 %>
    <TABLE border=1>
       <TR>
          <TD><B>Datum</B></TD>
          <TD><B>Personnummer</B></TD>
          <TD><B>Vätska</B></TD>
          <TD><B>Volym</B></TD>
       </TR>
 <%
 	    Do While Not objRS.EOF
       Response.Write "<TR><TD>" & objRS("Dag") & "</TD>"
       Response.Write "<TD>" & objRS("PatID") & "</TD>"
       Response.Write "<TD>" & objRS("FluidNamn") & "</TD>"
       Response.Write "<TD>" & objRS("Volym") & "</TD></TR>"
       objRS.MoveNext
    Loop
    objRS.Close
    Set objRS = Nothing
    objConn.Close
    Set objConn = Nothing
```

 [Se själva](http://www12.brinkster.com/vatskebalans/tblvetskebalans1.asp)

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

## #11 — @nders, 2003-12-11T10:23Z

Då får du väl inga träffar av din SQL-fråga, dvs båda villkoren i din WHERE-sats uppfylls inte.

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

## #12 — plelkes, 2003-12-11T10:52Z

> **@nders skrev:**
>
> Då får du väl inga träffar av din SQL-fråga, dvs båda villkoren i din WHERE-sats uppfylls inte

 
Båda villkoren borde vara uppfyllda:[som vi ser här](http://www12.brinkster.com/vatskebalans/tblvetskebalans.asp) så har vi i tblVetskebalans bla lagt till FluidID= 22. Som vi kan se i tblFluids så är FluidID=22 det samma som Plasma

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

## #13 — @nders, 2003-12-11T10:55Z

Det här villkoret då: tblFluids.FluidID = tblFluids.FluidNamn?
Stämmer verkligen det? Ett ID som du jämför med ett namn, är det så, och i så fall, ska det vara så?

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

## #14 — plelkes, 2003-12-11T11:00Z

> **@nders skrev:**
>
> Det här villkoret då: tblFluids.FluidID = tblFluids.FluidNamn?
> Stämmer verkligen det? Ett ID som du jämför med ett namn, är det så, och i så fall, ska det vara så?

 
Jag tycker att det stämmer:

1. båda är av samma fälttyp (=text)
2. på sidan lista_fluids.asp så markerar jag med kryssruta FluidID
3. så som min databas är uppbyggd så finns ju bara FluidNamn i tblFluids ...
4. kan maninte snickra till det hela ändå?

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

## #15 — plelkes, 2003-12-11T15:24Z

Alltså, det jag vill göra är följande uttryckt i "pseudo":**Följande fält vill jag visa** 

1. tblVetskebalans.Dag
2. tblVetskebalans.PatID
3. tblVetskebalans.Volym
4. tblFluids.FluidNamn

 
**Från tabellerna** 

1. tblVetskebalans
2. tblFluids

 
*Dessutom* 
i tblFluids.FluidNamn skall visas namnet (=FluidNamn) som motsvarar den FluidID som är lagrat i fältet tblVetskebalans.FluidID.
Vidare är du ju så att:

- tblVetskebalans.FluidID = tblFluids.FluidID = tblFluidsFluidNamn

 

Förstår ni ovanstående?
Därav mitt förslag på strSQL

```
strSQL = strSQL = "SELECT tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, tblVetskebalans.PatID, tblVetskebalans.FluidID, tblVetskebalans.Volym FROM " & _
         "tblVetskebalans, tblFluids WHERE tblVetskebalans.FluidID = tblFluids.FluidID AND" & _
 " tblFluids.FluidID = tblFluids.FluidNamn
```

 

Men tydligen har jag tänkt knas någonstans...

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

## #16 — LarsG, 2003-12-11T16:13Z

Jag ser ingen anledning att ha med

```
AND" & _
 " tblFluids.FluidID = tblFluids.FluidNamn
```

i frågan.

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

## #17 — plelkes, 2003-12-11T17:56Z

Du hade/har rätt LarsG

Men, jag måste medge att ajg inte riktigt förstår varför det funkar...

I strSQL

```
strSQL = "SELECT tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, tblVetskebalans.PatID, tblVetskebalans.FluidID, tblVetskebalans.Volym FROM " & _
         "tblVetskebalans, tblFluids WHERE tblVetskebalans.FluidID = tblFluids.FluidID"
```

 
Ser jag ju ingenstans att:
tblVetskebalans.FluidID = tblFluids.FluidNamn...

Varför behövs inte detta förhållande?

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

## #18 — plelkes, 2003-12-11T19:26Z

Jag funderar och funderar och funderar.... Men kommer ingen vart...

Som jag tolkar strSQL på "pseudosvenska"

> Visa fälten tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, tblVetskebalans.PatID, tblVetskebalans.FluidID, tblVetskebalans.Volym från tabellerna tblVetskebalans och tblFluids **Där** tblVetskebalans.FluidID = tblFluids.FluidID

**Men var står att vätskorna skall visas med namn och inte ID ???**

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

## #19 — @nders, 2003-12-11T19:32Z

> tblVetskebalans.FluidID = tblFluids.FluidNamn...
> 
> Varför behövs inte detta förhållande?

Därför att villkoret inte fungerar. ID:t kommer aldrig vara lika med namnet (om du inte har en extremt skum datamodell, men det kan jag inte tänka mig).

> Men var står att vätskorna skall visas med namn och inte ID ???

Du hämtar ju både namn och ID. Du väljer ju själv vilka fält från recordsetet du vill skriva ut var?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/92391-lista-databas-med-information-från-två-tabeller
