Avatar billede totalpc Seniormester
23. marts 2011 - 22:00 Der er 2 kommentarer og
1 løsning

error '80020009' - omkring rs("felt")

Jeg har en side hvor jeg innerjoiner 2 tabeller.
Jeg har 2 spørgsmål.
1. Normalt refererer jeg til et felt hentet i basen, med RS("felt"), men hvad nu når man innerjoiner på 2 tabeller og hvis så der er felter der hedder det samme. Hvordan refererer man så? rs("tabel1.felt") eller hvad?

2. I nedenstående kode kender den ikke rs("medlemsnr") efter jeg har lavet do while loopet. Men flytter jeg den kode længere op, så virker det fint. Hvorfor pokker virker denne kode ikke, der hvor der står i scriptet?
*********code**********
<%
if session("userid") = RS("medlemsnr") then
%>

<B>Tilføj ekstra billeder, vælg fil og klik upload.</B>
<P>

<FORM NAME="MyForm" METHOD="POST" ENCTYPE="multipart/form-data" ACTION="biler_x_upload.asp">
<TABLE CELLSPACING=0 CELLPADDING=3 BORDER=1>
<TD>
<INPUT TYPE=FILE SIZE=40 NAME="FILE1"><BR>
<INPUT TYPE="HIDDEN" VALUE="<%=id%>" name="ID">
<INPUT TYPE="SUBMIT" VALUE="Upload">
</TD>
</TABLE>
</FORM>
<%End If%>
*******************************

Hele script:

<%
Session.LCID=1030

Dim adoCon             'Holds the Database Connection Object
Dim rs                'Holds the recordset for the record to be updated
Dim strSQL            'Holds the SQL query for the database
Dim IdNr            'Holds the record number to be updated

Set adoCon = Server.CreateObject("ADODB.Connection")
adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("medlemsrs.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")

ID = Request.QueryString("ID")

strSQL = "SELECT Biler.*, Billeder.link FROM Biler INNER JOIN Billeder ON Biler.Id = Billeder.BilID WHERE biler.id=" & id
rs.Open strSQL, adoCon

size=120
PWidth=80
PHeight=80


Set Image = Server.CreateObject("AspImage.Image")
link=rs("link")
Image.LoadImage(Server.MapPath(""&link))
'Image.LoadImage(Server.MapPath("images/fordt.jpg"))

ImageHeight = Image.MaxY
ImageWidth = Image.MaxX
Image.CreateButton 5,true
Image.ImageFormat = 1
Image.JPEGQuality = 80

if size>0 AND ImageWidth > size then
NewHeight = Cint(ImageHeight*size/ImageWidth)
NewWidth = size
Image.ResizeR NewWidth,NewHeight
end if

if PWidth >0 AND ImageWidth > PWidth then
NewHeight = Cint(ImageHeight*PWidth/ImageWidth)
NewWidth = PWidth
Image.ResizeR NewWidth,NewHeight
end if

if PHeight >0 AND ImageHeight > PHeight then
NewWidth = Cint(ImageWidth*PHeight/ImageHeight)
NewHeight = PHeight
Image.ResizeR NewWidth,NewHeight
end if

Set Image = Nothing

funktion=request.querystring("funktion")

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//DK" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Language" content="da" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

<head>
</head>

<body style="background-color: #ECF9FF">
<p class="style1"><strong>Hovedmenu -> Biler -> Detaljer</strong></p>
<p class="style5"><a href="hovedmenu.asp">Retur til hovedmenu</a></p>
<% if funktion = "alle" then %>
<p class="style5"><a href="biler_view_alle.asp">Retur til Biler</a></p>
<% else %>
<p class="style5"><a href="biler_view.asp">Retur til Biler</a></p>
<% End If %>
<br>

<table border=0 >
<tr>
<td width="400" valign="top">Mærke: <% =rs("mærke")%> <br>Model: <% =rs("model")%> <br>Årgang: <% =rs("årgang")%><br>Årgang: <% =rs("beskrivelse")%></td>
<td><a href="<% =rs("link")%>" target="_blank"><img src="<% =rs("link")%>" height="<%= newheight %>" width="<%= newwidth %>"></a></td>
</tr>
</table>
<table>
<tr>
<td>

<%
dim i
i = 0
%>

</td>
</tr>
</table>

<br>
<table>
<tr>
<%
Do While not rs.EOF
%>
<td>
<a href="<%= rs("link")%>" target=_blank><img src="<%= rs("link")%>" border="0" height="<%= newheight %>" width="<%= newwidth %>" align="top"></a>
</td>

<%
If i = 3 then
response.write "</tr>"
response.write "<tr>"
i = 0
Else
i= i + 1
End If

rs.MoveNext

Loop
%>

<%
if session("userid") = RS("medlemsnr") then
%>

<B>Tilføj ekstra billeder, vælg fil og klik upload.</B>
<P>

<FORM NAME="MyForm" METHOD="POST" ENCTYPE="multipart/form-data" ACTION="biler_x_upload.asp">
<TABLE CELLSPACING=0 CELLPADDING=3 BORDER=1>
<TD>
<INPUT TYPE=FILE SIZE=40 NAME="FILE1"><BR>
<INPUT TYPE="HIDDEN" VALUE="<%=id%>" name="ID">
<INPUT TYPE="SUBMIT" VALUE="Upload">
</TD>
</TABLE>
</FORM>
<%End If%>

</table>
</body>
</html>
Avatar billede keysersoze Guru
23. marts 2011 - 22:47 #1
1) du kan ikke have samme variabelnavn i din SQL flere gange så du er nødt til at lave et alias - fx "select tabel1.id, tabel2.id AS id2...". Syntaks kan være lidt forskellig fra database til database.

2) Hvis du looper dit recordset (rs) igennem vil det være eof når du forsøger at trække medlemsnr ud - så skal du fx enten køre det frem igen med movefirst eller gemme medlemsnummeret i en variabel inden det bliver eof.
Avatar billede totalpc Seniormester
24. marts 2011 - 11:11 #2
1) Ja selvfølgelig.. :) Er sgu blevet lidt rusten efter er par år pause :)

2) Klart...takker


Smid et svar!
Avatar billede keysersoze Guru
24. marts 2011 - 11:35 #3
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester