---
title: "Fungerade igår - idag: \"Type mismatch in expression\""
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/92396-fungerade-igår-idag-type-mismatch-in-expression"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "plelkes"
published: "2003-12-11T09:08:27.000Z"
updated: "2003-12-11T10:03:02.000Z"
replies: 7
views: 334
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/92396-fungerade-igår-idag-type-mismatch-in-expression"
---

# Fungerade igår - idag: "Type mismatch in expression"

## #1 — plelkes, 2003-12-11T09:08Z

Igår fungerade sidan som listar vätskor

```
<%@LANGUAGE="VBSCRIPT" "%>
<HTML>
<HEAD>
<TITLE>Untitled Document</TITLE>
</HEAD>
<%
If Request.QueryString("type") = "" Then
  intType = 1
Else
  intType = CInt(Request.QueryString("type"))
End If

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, tblFluidTypes.TypeNamn, tblFluidTypes.TypeID, tblFluids.FluidID FROM " & _
         "tblFluidRelat, tblFluids, tblFluidTypes WHERE tblFluidRelat.FluidID = tblFluids.FluidID AND" & _
		 " tblFluidRelat.typeID = tblFluidTypes.typeID AND tblFluidTypes.TypeID = " & intType & " ORDER by tblFluidTypes.typeID"
[B]Set objRS = objConn.Execute(strSQL)[/B]
If NOT objRS.EOF Then
%>

<table width="800" border="1">
		<tr>
		   <td>&nbsp;</td>
		   <td colspan="3"><%
			                Response.Write objRS("TypeNamn")
							objRS.Close
							       %>
		    </td>
		 </tr>
  				<tr> 
    				<td><%
					      intLast = objConn.Execute("SELECT Max(TypeID) FROM tblFluidTypes")(0)
							For i = 1 To intLast
  						  Set objRS = objConn.Execute("SELECT TypeNamn FROM tblFluidTypes WHERE TypeID = " & i)
							If NOT i = intType Then
    							Response.Write("<a href=""?type=" & i & """>" & objRS("TypeNamn") & "</a><BR> ")
						  objRS.Close
						  End If
						  Next
								%>
				     </td>
    					<td><% strSQL = "SELECT f.FluidNamn, ft.TypeNamn, ft.TypeID, f.FluidID FROM tblFluidRelat fr, tblFluids f, tblFluidTypes ft WHERE fr.FluidID = f.FluidID AND fr.typeID = ft.typeID AND ft.TypeID = " & intType & " ORDER by ft.typeID"
Set objRS = objConn.Execute(strSQL)
%>
<table width="400" border="1">
<form name="fylla" method="post" action="skrivtill_tblVetskebalans.asp">
Patientens personnummer:&nbsp;&nbsp;&nbsp;<input name="personnr" type="text">

<%
Do While Not objRS.EOF
     Response.Write "<TR><TD><INPUT NAME=""leggatill" & objRS("FluidID") & """ TYPE=""checkbox"" VALUE="""& objRS("FluidID") &"""></TD>"		
     Response.Write "<TD>" & objRS("FluidNamn") & "</TD>"
     Response.Write "<TD><INPUT NAME=""volym" & objRS("FluidID") & """ TYPE=""text""></TD></TR>"
     objRS.MoveNext
Loop
End If
    objRS.Close
    Set objRS = Nothing
    objConn.Close
    Set objConn = Nothing
 %>
</table>
<input type="submit" value="Lägg till Vätskebalansen">

	</form>

<br><br>
<br>
<a href="http://www12.brinkster.com/vatskebalans/tblvetskebalans.asp">Lista tblV&auml;tskebalans inneh&aring;ll</a>

</BODY>
</HTML>
```

 
Idag när jag kör sidan får jag 

> Microsoft JET Database Engine error '80004005' 
> 
> Type mismatch in expression. 
> 
> /vatskebalans/lista_fluids.asp, line 18 = bold

 
Sidan där själva skrivning till databasen sker:

```
<%@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"

 %>
```

 
dag är av typen datum
FluidID av typen text
volym av typen tal
PatiID av typen text
 **Är medveten om att jag dubbelpostar, men i överskådlighetens namn, tycker jag att det är försvarligt..**

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

## #2 — Engine^, 2003-12-11T09:23Z

Det enda jag ser på en gång är att felet skulle kunna uppstå om *intType* är något annat än numeriskt, d.v.s. att felet uppstår i din QueryString.

Skriv ut SQL-frågan och kontrollera...

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

## #3 — plelkes, 2003-12-11T09:34Z

> **Engine^ skrev:**
>
> felet skulle kunna uppstå om intType är något annat än numeriskt, d.v.s. att felet uppstår i din QueryString.

 Just konstruktionen för "paging" har jag fått hjälp från wf - och fattar inte mycket av, så:

- Hur skall jag ändra?

 

> **Engine^ skrev:**
>
> Skriv ut SQL-frågan och kontrollera...

> SELECT tblFluids.FluidNamn, tblFluidTypes.TypeNamn, tblFluidTypes.TypeID, tblFluids.FluidID FROM tblFluidRelat, tblFluids, tblFluidTypes WHERE tblFluidRelat.FluidID = tblFluids.FluidID AND tblFluidRelat.typeID = tblFluidTypes.typeID AND tblFluidTypes.TypeID = 1 ORDER by tblFluidTypes.typeID 
> Microsoft JET Database Engine error '80004005' 
> 
> Type mismatch in expression. 
> 
> /vatskebalans/lista_fluids.asp, line 19

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

## #4 — @nders, 2003-12-11T09:36Z

tblFluidRelat.FluidID = tblFluids.FluidID 
tblFluidRelat.typeID = tblFluidTypes.typeID 

Jämförbara typer?

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

## #5 — Engine^, 2003-12-11T09:51Z

Kan det vara så att det föreligger ett stavfel någonstans?

Om det inte hjälper med **@nders** förslag, så ser inte jag några fel ivarjefall. :l

Eftersom jag är förkyld så skickar jag med en variant på frågan

```
SELECT tF.FluidNamn, tFT.TypeNamn, tFT.TypeID, tF.FluidID
FROM (tblFluidRelat tFR
INNER JOIN tblFluids tF
  ON tF.FluidID = tFR.FluidID)
INNER JOIN tblFluidTypes tFT
  ON tFT.TypeID = tFR.TypeID
WHERE tFT.TypeID = 1
ORDER BY tFT.TypeID
```

Du kanske får ett annorlunda felmeddelande om inte annat :)

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

## #6 — plelkes, 2003-12-11T09:51Z

> tblFluidRelat.FluidID = tblFluids.FluidID

 båda är av typen text

> tblFluidRelat.typeID = tblFluidTypes.typeID

 båda tal

1. Nu verkar det funka:OO
2. Finns det ngra nackdelar i att jag har ändrat så mänga av fälten till "text"?

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

## #7 — @nders, 2003-12-11T09:58Z

2) Det beror på vad du lagrar i fälten. Är det tal bör du använda taltyp, är det strängar så ska du använda text.

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

## #8 — plelkes, 2003-12-11T10:03Z

> **@nders skrev:**
>
> Det beror på vad du lagrar i fälten. Är det tal bör du använda taltyp, är det strängar så ska du använda text.

 
Men hur kan jag lösa det i mitt fall: i strSQL har jag bl. a,

```
tblFluids.FluidID = tblFluids.FluidNamn
```

 
tblFluids.FluidID = tal
tblFluids.FluidNamn = sträng

Nu ha rjag iof ändrat båda till sträng, men kunde hag ha skrivit min strSQL på annorlunda sätt?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/92396-fungerade-igår-idag-type-mismatch-in-expression
