plelkesMedlem sedan mars 2002823 inlägg
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")
@ndersMedlem sedan juni 200026 914 inlägg
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?
plelkesMedlem sedan mars 2002823 inlägg
@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??
@ndersMedlem sedan juni 200026 914 inlägg
Du kallar ditt recordset för rs1, men du försöker skriva ut värden från rs. Nicht gefunket! ;)
plelkesMedlem sedan mars 2002823 inlägg
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, men nu har jag väl inte gjort samma fel??
@ndersMedlem sedan juni 200026 914 inlägg
Hur ser din kod ut nu alltså?
Mvh
plelkesMedlem sedan mars 2002823 inlägg
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>
plelkesMedlem sedan mars 2002823 inlägg
Efter att ha sökt på google hittade jag denna sida . 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*
plelkesMedlem sedan mars 2002823 inlägg
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> </TD><TD> </TD><TD><%=rs1("ID")%></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
%>
LarsGMedlem sedan dec. 200012 465 inlägg
Av felutskriften så tyder allt på att Request.Form("rapport") inte innehåller något värde.
plelkesMedlem sedan mars 2002823 inlägg
Det borde det göra..
Av utrymmes skäl skickar jag med de 3 filerna.
- på 1.asp - kryssa rutan
-
- sedan tas krysset = patiID med till de 2 andra sidorna
plelkesMedlem sedan mars 2002823 inlägg
Ni kan oxå kolla live
- http://www12.brinkster.com/vatskebalans/vbalans100.asp
- här fylls krussrutan i (=1.asp på bifogad fil)
- på denna sida (=2.asp) http://www12.brinkster.com/vatskebalans/givna_fluids102.asp följer person numret snällt med
- 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
plelkesMedlem sedan mars 2002823 inlägg
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"??????????????
PDahlenMedlem sedan apr. 2004784 inlägg
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