---
title: "Syntax error (missing operator) in query expression"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/100142-syntax-error-missing-operator-in-query-expression/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "plelkes"
published: "2004-03-23T15:55:25.000Z"
updated: "2004-04-29T17:52:24.000Z"
replies: 33
views: 822
page: 2
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/100142-syntax-error-missing-operator-in-query-expression"
---

# Syntax error (missing operator) in query expression

_Sida 2 av 2._

## #21 — plelkes, 2004-03-24T19:24Z

den satsen hade jag längre ner.
Efter att flyttat upp blir felet

> Microsoft JET Database Engine error '80004005' 
> The specified field 'PatID' could refer to more than one table listed in the FROM clause of your SQL statement.

 
Då möblerar jag om

```
strSQL1 = "SELECT tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, " &_
"tblVetskebalans.PatID, tblVetskebalans.FluidID, tblVetskebalans.Volym," &_
" tblPersonuppgifter.PatID, tblPersonuppgifter.ftEnamn, tblPersonuppgifter.ftFnamn" &_ 
" FROM tblVetskebalans, tblFluids, tblPersonuppgifter WHERE" &_
" tblVetskebalans.FluidID = tblFluids.FluidID AND " &_
"tblPersonuppgifter.PatID = "&Request.Form("rapport")&" ORDER by Dag ASC"
```

 Och nu blir  utskriften

> SELECT tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, tblVetskebalans.PatID, tblVetskebalans.FluidID, tblVetskebalans.Volym, tblPersonuppgifter.PatID, tblPersonuppgifter.ftEnamn, tblPersonuppgifter.ftFnamn FROM tblVetskebalans, tblFluids, tblPersonuppgifter WHERE tblVetskebalans.FluidID = tblFluids.FluidID AND tblPersonuppgifter.PatID = '1111111111' ORDER by Dag ASC     Microsoft VBScript runtime error '800a000d' 
> 
> Type mismatch: 'rs' 
> 
> /vatskebalans/visa_rapporten102.asp, line 24

 rad 24 är raden med rs("ftEnamn")

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

## #22 — @nders, 2004-03-24T19:27Z

Felet kommer sig av, vad jag kan se, att recordsetet *rs* inte finns när du försöker skriva ut *rs("ftEnamn")*. Var exekverar du SQL-frågan?

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

## #23 — plelkes, 2004-03-24T19:30Z

@nders,dumt avmig... skall heta rs1 och inget annat.
Sidan håller jag på att ändra på så att allt komemr att hamna i tabeller. Så här långt ser hela koden ut så här:

```
<%@LANGUAGE="VBSCRIPT" "%>
<HTML>
<HEAD>
<TITLE>Untitled Document</TITLE>
</HEAD>
<%  
Set vbalans = Server.CreateObject("ADODB.Connection")
vbalans.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vbalans.ConnectionString = "Data Source='" & MdbFilePath & "'"
vbalans.open
strSQL1 = "SELECT tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, " &_
"tblVetskebalans.PatID, tblVetskebalans.FluidID, tblVetskebalans.Volym," &_
" tblPersonuppgifter.PatID, tblPersonuppgifter.ftEnamn, tblPersonuppgifter.ftFnamn" &_ 
" FROM tblVetskebalans, tblFluids, tblPersonuppgifter WHERE" &_
" tblVetskebalans.FluidID = tblFluids.FluidID AND " &_
"tblPersonuppgifter.PatID = "&Request.Form("rapport")&" ORDER by Dag ASC"
Response.Write strSQL1
Set rs1 = vbalans.Execute (strSQL1)

%>
<TABLE border=1>
       <TR>
	   <TD>_</TD><TD>_</TD><TD><%=rs1("PatID")%></TD>
	   </TR><TR>
	   <TD>_</TD><TD><%=rs1("ftEnamn")%></TD><TD><%=rs1("ftFnamn")%></TD>
	   </TR><TR>
	   <TD>_</TD><TD>_</TD><TD>_</TD>
	   </TR><TR>
	   <TD>_</TD><TD>_</TD><TD>_</TD>
	   </TR><TR>
	   <TD>_</TD><TD>_</TD><TD>_</TD>
	   </TR>
	   </TABLE>
<%
datum ="" 

Do While Not rs1.EOF
If datum <> rs1("Dag") then
datum = rs1("Dag")
Response.Write "<B>" & rs1("Dag") & "</B><BR>" & "<I>" & rs1("FluidNamn") & "</I>   " & "<U>" & rs1("Volym") & "  ml</U><BR>"
Else
Response.Write "<I>" & rs1("FluidNamn") & "</I>   " & "<U>" & rs1("Volym") & "  ml</U><BR>"
End If
rs1.MoveNext
Loop
vbalans.Close
Set vbalans = Nothing
  %>
<br><br>
<br>
<a href="http://www12.brinkster.com/vatskebalans/tblvetskebalans.asp">Lista tblVätskebalans innehåll</a>

</BODY>
</HTML>
```

Men denna ändring verkar inte hjälpa

> ADODB.Recordset error '800a0cc1' 
> 
> Item cannot be found in the collection corresponding to the requested name or ordinal

 Vad betyder detta?Jag öppnar väl
tblPersonuppgifter.ftEnamn??

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

## #24 — @nders, 2004-03-24T19:34Z

Du kallar ditt recordset för rs1, men du försöker skriva ut värden från rs. Nicht gefunket! ;)

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

## #25 — plelkes, 2004-03-25T08:17Z

som jag skrev ovan har jag själv upptäckt mitt misstag :) 

Kan ni berätta vad det senaste felmesset beror på?
Skickar för säkerhetsskull messet en gång till

> ADODB.Recordset error '800a0cc1' 
> 
> Item cannot be found in the collection corresponding to the requested name or ordinal

[senast jag fick detta felmess](http://www.webforum.nu/showthread.php?s=&forumid=22&threadid=88589&highlight=error+800a0cc1), men nu har jag väl inte gjort samma fel??

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

## #26 — @nders, 2004-03-25T08:29Z

Hur ser din kod ut nu alltså?

Mvh

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

## #27 — plelkes, 2004-03-25T09:42Z

hela sidans kod

```
<%@LANGUAGE="VBSCRIPT" "%>
<HTML>
<HEAD>
<TITLE>Untitled Document</TITLE>
</HEAD>
<%  
Set vbalans = Server.CreateObject("ADODB.Connection")
vbalans.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vbalans.ConnectionString = "Data Source='" & MdbFilePath & "'"
vbalans.open
strSQL1 = "SELECT tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, " &_
"tblVetskebalans.PatID, tblVetskebalans.FluidID, tblVetskebalans.Volym," &_
" tblPersonuppgifter.PatID, tblPersonuppgifter.ftEnamn, tblPersonuppgifter.ftFnamn" &_ 
" FROM tblVetskebalans, tblFluids, tblPersonuppgifter WHERE" &_
" tblVetskebalans.FluidID = tblFluids.FluidID AND " &_
"tblPersonuppgifter.PatID = "&Request.Form("rapport")&" ORDER by Dag ASC"
Response.Write strSQL1
Set rs1 = vbalans.Execute (strSQL1)

%>
<TABLE border=1>
       <TR>
	   <TD>_</TD><TD>_</TD><TD><%=rs1("PatID")%></TD>
	   </TR><TR>
	   <TD>_</TD><TD><%=rs1("ftEnamn")%></TD><TD><%=rs1("ftFnamn")%></TD>
	   </TR><TR>
	   <TD>_</TD><TD>_</TD><TD>_</TD>
	   </TR><TR>
	   <TD>_</TD><TD>_</TD><TD>_</TD>
	   </TR><TR>
	   <TD>_</TD><TD>_</TD><TD>_</TD>
	   </TR>
	   </TABLE>
<%
datum ="" 

Do While Not rs1.EOF
If datum <> rs1("Dag") then
datum = rs1("Dag")
Response.Write "<B>" & rs1("Dag") & "</B><BR>" & "<I>" & rs1("FluidNamn") & "</I>   " & "<U>" & rs1("Volym") & "  ml</U><BR>"
Else
Response.Write "<I>" & rs1("FluidNamn") & "</I>   " & "<U>" & rs1("Volym") & "  ml</U><BR>"
End If
rs1.MoveNext
Loop
vbalans.Close
Set vbalans = Nothing
  %>
<br><br>
<br>
<a href="http://www12.brinkster.com/vatskebalans/tblvetskebalans.asp">Lista tblVätskebalans innehåll</a>

</BODY>
</HTML>
```

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

## #28 — plelkes, 2004-03-25T14:41Z

Efter att ha sökt på google [hittade jag denna sida](http://www.adopenstatic.com/faq/800a0cc1.asp) . Här listas orsaker till felet..

Så jag har gjort förändring i strSQL (se fetstilta)

```
strSQL1 = "SELECT tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, " &_
"[B]tblVetskebalans.PatID AS patid[/B], tblVetskebalans.FluidID, tblVetskebalans.Volym," &_
" [B]tblPersonuppgifter.PatID AS ID[/B], tblPersonuppgifter.ftEnamn, tblPersonuppgifter.ftFnamn" &_ 
" FROM tblVetskebalans, tblFluids, tblPersonuppgifter WHERE" &_
" tblVetskebalans.FluidID = tblFluids.FluidID AND " &_
"tblPersonuppgifter.PatID = "&Request.Form("rapport")&" ORDER by Dag ASC"
```

 
Samt

```
<TD><%=rs1("ID")%></TD>
```

 Och vips som genom ett trollslag verkar deetta funktionera\*ler\*

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

## #29 — plelkes, 2004-04-29T13:02Z

Det har funkat sedan jag skrev föregående inlägg, men nu får jag felutskriften

> Microsoft JET Database Engine error '80040e14' 
> 
> Syntax error (missing operator) in query expression 'tblVetskebalans.FluidID = tblFluids.FluidID AND tblPersonuppgifter.PatID ='. 
> 
> /vatskebalans/visa_rapporten102.asp, line 18

 
Har försökt hitta felet genom google,men misslyckas... Snälla hjälp mig!!
Hela koden ser ut

```
<%  
Set vbalans = Server.CreateObject("ADODB.Connection")
vbalans.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vbalans.ConnectionString = "Data Source='" & MdbFilePath & "'"
vbalans.open
strSQL1 = "SELECT tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, " &_
"tblVetskebalans.PatID AS patid, tblVetskebalans.FluidID, tblVetskebalans.Volym," &_
" tblPersonuppgifter.PatID AS ID, tblPersonuppgifter.ftEnamn, tblPersonuppgifter.ftFnamn" &_ 
" FROM tblVetskebalans, tblFluids, tblPersonuppgifter WHERE" &_
" tblVetskebalans.FluidID = tblFluids.FluidID AND " &_
"tblPersonuppgifter.PatID = "&Request.Form("rapport")&" ORDER by Dag ASC"
Set rs1 = vbalans.Execute (strSQL1)
%>
<TABLE border=1>
       <TR>
	   <TD>&nbsp;</TD><TD>&nbsp;</TD><TD><%=rs1("ID")%></TD>
	   </TR><TR>
	   <TD>&nbsp;</TD><TD><%=rs1("ftEnamn")%></TD><TD><%=rs1("ftFnamn")%></TD>
	   </TR><TR>
	   <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>
	   </TR><TR>
	   <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>
	   </TR><TR>
	   <TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>
	   </TR>
</TABLE>
<%
datum ="" 
Do While Not rs1.EOF
If datum <> rs1("Dag") then
datum = rs1("Dag")
Response.Write "<B>" & rs1("Dag") & "</B><BR>" & "<I>" & rs1("FluidNamn") & "</I>   " & "<U>" & rs1("Volym") & "  ml</U><BR>"
Else
Response.Write "<I>" & rs1("FluidNamn") & "</I>   " & "<U>" & rs1("Volym") & "  ml</U><BR>"
End If
rs1.MoveNext
Loop
vbalans.Close
Set vbalans = Nothing
  %>
```

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

## #30 — LarsG, 2004-04-29T13:31Z

Av felutskriften så tyder allt på att Request.Form("rapport") inte innehåller något värde.

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

## #31 — plelkes, 2004-04-29T13:52Z

Det borde det göra..
Av utrymmes skäl skickar jag med de 3 filerna.

1. på 1.asp - kryssa rutan
2. 2) sedan tas krysset = patiID med till de 2 andra sidorna

Bilagor:

- [ny mapp (2).zip](https://www.webforum.nu/a/3375.zip)

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

## #32 — plelkes, 2004-04-29T13:57Z

Ni kan oxå kolla live

1. http://www12.brinkster.com/vatskebalans/vbalans100.asp  
   \- här fylls krussrutan i (=1.asp på bifogad fil)
2. på denna sida (=2.asp) <http://www12.brinkster.com/vatskebalans/givna_fluids102.asp> följer person numret snällt med
3. och det är tänkt att personnummret skall ÄVEN  följa med till denna sida(=3.asp)<http://www12.brinkster.com/vatskebalans/visa_rapporten102.asp>

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

## #33 — plelkes, 2004-04-29T16:14Z

ordna eft

Nu har jag gjort lite förändring

```
<%  
Set vbalans = Server.CreateObject("ADODB.Connection")
vbalans.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vbalans.ConnectionString = "Data Source='" & MdbFilePath & "'"
vbalans.open
strSQL1 = "SELECT tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, " &_
" tblVetskebalans.PatID AS patid, tblVetskebalans.FluidID, tblVetskebalans.Volym," &_
" tblPersonuppgifter.PatID AS ID, tblPersonuppgifter.ftEnamn, tblPersonuppgifter.ftFnamn" &_ 
" FROM tblVetskebalans, tblFluids, tblPersonuppgifter WHERE" &_
" tblVetskebalans.FluidID = tblFluids.FluidID AND " &_
" tblPersonuppgifter.PatID = "&Request.Form("rapport")&" ORDER by dag ASC"
datum ="" 
Set rs1 = vbalans.Execute (strSQL1)
Do While Not rs1.EOF
If nr <> rs1("ID") then
Response.Write rs1("ID") & "<BR>"
Response.Write "<B>" & rs1("ftEnamn") & ", " & rs1("ftFnamn") & "</B><P><P><P>"
If datum <> rs1("Dag") then
datum = rs1("Dag")
Response.Write "<B>" & rs1("Dag") & "</B><BR>" & "<I>" & rs1("FluidNamn") & "</I>   " & "<U>" & rs1("Volym") & "  ml</U><BR>"
Else
Response.Write "<I>" & rs1("FluidNamn") & "</I>   " & "<U>" & rs1("Volym") & "  ml</U><BR>"
End If
rs1.MoveNext
Loop
vbalans.Close
Set vbalans = Nothing
%>
```

 men ack - får felutskrift

> Microsoft VBScript compilation error '800a040e' 
> 
> 'loop' without 'do' 
> 
> /vatskebalans/visa_rapporten102.asp, line 31 
> 
> Loop
> ^

 
linje 31står själva loopen, och 11 rader högre upp står "Do"??????????????

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

## #34 — PDahlen, 2004-04-29T17:52Z

Om du tabbar in koden när du skriver så kan du lättare hålla kolla på dina If-Else och då hade du sett att det som saknas är ett End If. Det orskakar "do"-felet.

```
Set vbalans = Server.CreateObject("ADODB.Connection")
vbalans.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vbalans.ConnectionString = "Data Source='" & MdbFilePath & "'"
vbalans.open
strSQL1 = "SELECT tblFluids.FluidNamn, tblFluids.FluidID, tblVetskebalans.Dag, " &_
" tblVetskebalans.PatID AS patid, tblVetskebalans.FluidID, tblVetskebalans.Volym," &_
" tblPersonuppgifter.PatID AS ID, tblPersonuppgifter.ftEnamn, tblPersonuppgifter.ftFnamn" &_ 
" FROM tblVetskebalans, tblFluids, tblPersonuppgifter WHERE" &_
" tblVetskebalans.FluidID = tblFluids.FluidID AND " &_
" tblPersonuppgifter.PatID = "&Request.Form("rapport")&" ORDER by dag ASC"
datum ="" 
Set rs1 = vbalans.Execute (strSQL1)
Do While Not rs1.EOF
    If nr <> rs1("ID") then
        Response.Write rs1("ID") & "<BR>"
        Response.Write "<B>" & rs1("ftEnamn") & ", " & rs1("ftFnamn") & "</B><P><P><P>"
        If datum <> rs1("Dag") then
            datum = rs1("Dag")
            Response.Write "<B>" & rs1("Dag") & "</B><BR>" & "<I>" & rs1("FluidNamn") & "</I>   " & "<U>" & rs1("Volym") & "  ml</U><BR>"
        Else
            Response.Write "<I>" & rs1("FluidNamn") & "</I>   " & "<U>" & rs1("Volym") & "  ml</U><BR>"
        End If
    End If   ' * Den här saknades
    rs1.MoveNext
Loop
vbalans.Close
Set vbalans = Nothing
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/100142-syntax-error-missing-operator-in-query-expression/page2  
Föregående sida: https://www.webforum.nu/amne/asp/100142-syntax-error-missing-operator-in-query-expression.md
