Avatar billede thomas_b Nybegynder
19. maj 2005 - 19:56 Der er 14 kommentarer og
1 løsning

Hjælp til script der ikke virker !

Hej Eksperter...:
Jeg for denne fejl ved mit script:
-----------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

default.asp, line 61
-----------------------------------------------------
og linie 61 er denne:

If Valg1 <> "" then
Sql = "Select count(*) as poster_find from poll_result where voteid="& ID &" AND vote="& Valg1
-------------->Set Record =  RsVote.Execute(Sql)
Procent = 100/Ialt * Record("poster_find")

%>
-----------------------------------------------------
Jeg har dette script...:
-----------------------------------------------------
<%
SQL = "SELECT * FROM instil where ID='farve'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, Conn,1, 2
%><table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td class="menu_over" style="background-color:#<%=rs("1")%>;">afstemning</td>
</tr>
</table>
<%
  Set RsVote = Server.CreateObject("ADODB.Connection")
  DBPath = "DBQ=" & server.mappath("going.mdb")
  RsVote.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath

  Sql = "select * from poll_navn ORDER BY dato DESC"
  Set Record =  RsVote.Execute(Sql)

id = Record("id")
Valg1 = Record("Valg1")
Valg2 = Record("Valg2")
Valg3 = Record("Valg3")
Valg4 = Record("Valg4")
Valg5 = Record("Valg5")



  If Not Record.EOF then
    If (Len(Request.Cookies("stem")(CSTR(id)))) then

%><%
SQL = "SELECT * FROM instil where ID='farve'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, Conn,1, 2
%><div style="background-color:#<%=rs("2")%>;">
<img src="img/pix.gif" border="0" height="4" width="1"><br>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td class="menu" align="center">
<%
secTxt = Record("Beskrivelse")
secTxt = replace(secTxt,vbCrLf,"<br>")
secTxt = replace(secTxt,"&lt;b&gt;","<b>")
secTxt = replace(secTxt,"&lt;/b&gt;","</b>")
secTxt = replace(secTxt,"&lt;i&gt;","<i>")
secTxt = replace(secTxt,"&lt;/i&gt;","</i>")
secTxt = replace(secTxt,"&lt;u&gt;","<u>")
secTxt = replace(secTxt,"&lt;/u&gt;","</u>")
response.write makeLinks(secTxt)
%>
</td>
</tr>
</table>
<%
Sql = "Select count(*) as Found from poll_result where voteid="& ID
Set Record =  RsVote.Execute(Sql)
Ialt = Record("found")

If Valg1 <> "" then
Sql = "Select count(*) as poster_find from poll_result where voteid="& ID &" AND vote="& Valg1
Set Record =  RsVote.Execute(Sql)
Procent = 100/Ialt * Record("poster_find")

%>
<div style="position:relative;top:0px;left:0px;"><div style="position:absolute;top:16px;left:0px;z-index:-1;width:100%;background-image:URL(img/8.gif);"><% if Round(procent) <> "0" then %><img src="img/14.gif" border="0" height="10" width="<% response.write Round(procent) %>%" style="filter:alpha(opacity=66);"><br><% else %><img src="img/pix.gif" border="0" height="10" width="<% response.write Round(procent) %>%"><% end if %></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td style="color:#000000;font-family:Verdana;font-size:11px;padding-left:8px;font-weight:bold;">
<% Record("Valg1") %></td></tr><tr><td align="center" style="color:#000000;font-family:Verdana;font-size:10px;padding-top:1px;padding-bottom:1px;">(<% Round(procent) %>%)</td></tr></table>
</div>
<%end if

If Record("Valg2") <> "" then%>
<div style="position:relative;top:0px;left:0px;"><div style="position:absolute;top:16px;left:0px;z-index:-1;width:100%;background-image:URL(img/8.gif);"><% if Round(procent) <> "0" then %><img src="img/14.gif" border="0" height="10" width="<% response.write Round(procent) %>%" style="filter:alpha(opacity=66);"><br><% else %><img src="img/pix.gif" border="0" height="10" width="<% response.write Round(procent) %>%"><% end if %></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td style="color:#000000;font-family:Verdana;font-size:11px;padding-left:8px;font-weight:bold;">
<% Record("Valg2") %></td></tr><tr><td align="center" style="color:#000000;font-family:Verdana;font-size:10px;padding-top:1px;padding-bottom:1px;">(<% Round(procent) %>%)</td></tr></table>
</div>
<%end if

If Record("Valg3") <> "" then%>
<div style="position:relative;top:0px;left:0px;"><div style="position:absolute;top:16px;left:0px;z-index:-1;width:100%;background-image:URL(img/8.gif);"><% if Round(procent) <> "0" then %><img src="img/14.gif" border="0" height="10" width="<% response.write Round(procent) %>%" style="filter:alpha(opacity=66);"><br><% else %><img src="img/pix.gif" border="0" height="10" width="<% response.write Round(procent) %>%"><% end if %></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td style="color:#000000;font-family:Verdana;font-size:11px;padding-left:8px;font-weight:bold;">
<% Record("Valg3") %></td></tr><tr><td align="center" style="color:#000000;font-family:Verdana;font-size:10px;padding-top:1px;padding-bottom:1px;">(<% Round(procent) %>%)</td></tr></table>
</div>
<%end if

If Record("Valg4") <> "" then%>
<div style="position:relative;top:0px;left:0px;"><div style="position:absolute;top:16px;left:0px;z-index:-1;width:100%;background-image:URL(img/8.gif);"><% if Round(procent) <> "0" then %><img src="img/14.gif" border="0" height="10" width="<% response.write Round(procent) %>%" style="filter:alpha(opacity=66);"><br><% else %><img src="img/pix.gif" border="0" height="10" width="<% response.write Round(procent) %>%"><% end if %></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td style="color:#000000;font-family:Verdana;font-size:11px;padding-left:8px;font-weight:bold;">
<% Record("Valg4") %></td></tr><tr><td align="center" style="color:#000000;font-family:Verdana;font-size:10px;padding-top:1px;padding-bottom:1px;">(<% Round(procent) %>%)</td></tr></table>
</div>
<%end if

If Record("Valg5") <> "" then%>
<div style="position:relative;top:0px;left:0px;"><div style="position:absolute;top:16px;left:0px;z-index:-1;width:100%;background-image:URL(img/8.gif);"><% if Round(procent) <> "0" then %><img src="img/14.gif" border="0" height="10" width="<% response.write Round(procent) %>%" style="filter:alpha(opacity=66);"><br><% else %><img src="img/pix.gif" border="0" height="10" width="<% response.write Round(procent) %>%"><% end if %></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td style="color:#000000;font-family:Verdana;font-size:11px;padding-left:8px;font-weight:bold;">
<% Record("Valg5") %></td></tr><tr><td align="center" style="color:#000000;font-family:Verdana;font-size:10px;padding-top:1px;padding-bottom:1px;">(<% Round(procent) %>%)</td></tr></table>
</div>
<%end if











    else
      session("retur") = Request.ServerVariables("SCRIPT_NAME")
%>
<div style="background-color:#A3CBC8;">
<img src="img/pix.gif" border="0" height="4" width="1"><br>
<%
secTxt = Record("Beskrivelse")
secTxt = replace(secTxt,vbCrLf,"<br>")
secTxt = replace(secTxt,"&lt;b&gt;","<b>")
secTxt = replace(secTxt,"&lt;/b&gt;","</b>")
secTxt = replace(secTxt,"&lt;i&gt;","<i>")
secTxt = replace(secTxt,"&lt;/i&gt;","</i>")
secTxt = replace(secTxt,"&lt;u&gt;","<u>")
secTxt = replace(secTxt,"&lt;/u&gt;","</u>")

      response.write "<form method='POST' action='?cmd=stem' style='margin:0px;'><input type='hidden' name='Voteid' value=" & Id & ">"
      response.write "<table cellspacing='0' cellpadding='0' border='0' width='100%'><tr><td class='menu' align='center'>" & makeLinks(secTxt)  & "</td></tr></table>"
      If Record("Valg1") <> "" then
response.write "<table cellspacing='0' cellpadding='0' border='0' width='100%'><tr>"
response.write "<td valign='top' width='20' style='color:#000000;font-family:Verdana;font-size:11px;padding-left:5px;font-weight:bold;'><input type='radio' value='" & Record("Valg1") & "' name='r1'></td>"
response.write "<td style='color:#000000;font-family:Verdana;font-size:11px;padding-left:6px;'>" & Record("Valg1") & "</td>"
response.write "</tr></table>"
      end if
      If Record("Valg2") <> "" then
response.write "<table cellspacing='0' cellpadding='0' border='0' width='100%'><tr>"
response.write "<td valign='top' width='20' style='color:#000000;font-family:Verdana;font-size:11px;padding-left:5px;font-weight:bold;'><input type='radio' value='" & Record("Valg2") & "' name='r1'></td>"
response.write "<td style='color:#000000;font-family:Verdana;font-size:11px;padding-left:6px;'>" & Record("Valg2") & "</td>"
response.write "</tr></table>"
      end if
      If Record("Valg3") <> "" then
response.write "<table cellspacing='0' cellpadding='0' border='0' width='100%'><tr>"
response.write "<td valign='top' width='20' style='color:#000000;font-family:Verdana;font-size:11px;padding-left:5px;font-weight:bold;'><input type='radio' value='" & Record("Valg3") & "' name='r1'></td>"
response.write "<td style='color:#000000;font-family:Verdana;font-size:11px;padding-left:6px;'>" & Record("Valg3") & "</td>"
response.write "</tr></table>"
      end if
      If Record("Valg4") <> "" then
response.write "<table cellspacing='0' cellpadding='0' border='0' width='100%'><tr>"
response.write "<td valign='top' width='20' style='color:#000000;font-family:Verdana;font-size:11px;padding-left:5px;font-weight:bold;'><input type='radio' value='" & Record("Valg4") & "' name='r1'></td>"
response.write "<td style='color:#000000;font-family:Verdana;font-size:11px;padding-left:6px;'>" & Record("Valg4") & "</td>"
response.write "</tr></table>"
      end if
      If Record("Valg5") <> "" then
response.write "<table cellspacing='0' cellpadding='0' border='0' width='100%'><tr>"
response.write "<td valign='top' width='20' style='color:#000000;font-family:Verdana;font-size:11px;padding-left:5px;font-weight:bold;'><input type='radio' value='" & Record("Valg5") & "' name='r1'></td>"
response.write "<td style='color:#000000;font-family:Verdana;font-size:11px;padding-left:6px;'>" & Record("Valg5") & "</td>"
response.write "</tr></table>"
      end if
      response.write "<table cellspacing='0' cellpadding='0' border='0' width='100%'><tr><td style='padding-left:30px;padding-right:30px;'><input type='submit' value='stem' style='background-color:#FFFFFF;width:100%;height:18px;padding-top:1px;text-align:center;border:1px solid #000000;color:#000000;font-family:Verdana;font-size:10px;'></td></tr></table></form>"
    end if
  end if

%><img src="img/pix.gif" border="0" height="4" width="1"><br>
<img src="img/1.gif" border="0" height="2" width="100%"><br>
</div>
<img src="img/pix.gif" border="0" height="20" width="1"><br>
Avatar billede nielle Nybegynder
19. maj 2005 - 20:41 #1
Søges der på tekst skal der altid være et par pinger rundt om:

Sql = "Select count(*) as poster_find from poll_result where voteid="& ID &" AND vote="& Valg1

- rettes til:

Sql = "Select count(*) as poster_find from poll_result where voteid=" & ID & " AND vote='" & Valg1 & "'"
Avatar billede nielle Nybegynder
19. maj 2005 - 20:42 #2
Hvis ID også er tekst, og ikke et tal som gej ellers gætter på, så skal det også indkabsles i pinger:

Sql = "Select count(*) as poster_find from poll_result where voteid='" & ID & "' AND vote='" & Valg1 & "'"
Avatar billede thomas_b Nybegynder
20. maj 2005 - 00:28 #3
så kommer den med denne fejl:
----------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

default.asp, line 61
Avatar billede nielle Nybegynder
20. maj 2005 - 06:20 #4
Prøv - som almindelig debugning - at udskrive den resulterende SQL-sætning før at du forsøger at udføre den:

If Valg1 <> "" then
    Sql = "Select count(*) as poster_find from poll_result where voteid="& ID &" AND vote="& Valg1

    Response.Write Sql

    Set Record =  RsVote.Execute(Sql)
    Procent = 100/Ialt * Record("poster_find")

    ...

Det kan tit være meget informativt.
Avatar billede thomas_b Nybegynder
20. maj 2005 - 09:04 #5
så kommer den med:
-------------------------------------------
Select count(*) as poster_find from poll_result where voteid=23 AND vote=Ja

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

default.asp, line 64
Avatar billede nielle Nybegynder
20. maj 2005 - 10:07 #6
Du mangler jo også pingerne rundt om Ja. SQL-sætningen *skal* være:

Select count(*) as poster_find from poll_result where voteid=23 AND vote='Ja'

Det er mit kodeeksempel fra 19/05-2005 20:41:35.
Avatar billede nielle Nybegynder
20. maj 2005 - 10:41 #7
Ups, kan se at det er mig som har forledt dig til at fjerne pingerne igen (20/05-2005 06:20:05). Koden skulle jo have været:

If Valg1 <> "" then
    Sql = "Select count(*) as poster_find from poll_result where voteid=" & ID & " AND vote='" & Valg1 & "'"

    Response.Write Sql

    Set Record =  RsVote.Execute(Sql)
    Procent = 100/Ialt * Record("poster_find")

    ...

Jeg undskylder ydmygest besværet. :^|
Avatar billede nielle Nybegynder
20. maj 2005 - 10:44 #8
Et spørgsmål: Hvordan er dine to attributter, voteid og vote, egentlig defineret i din Access-database? Hvad er deres type?
Avatar billede thomas_b Nybegynder
24. maj 2005 - 23:07 #9
de er bare begge tekst og voteID er tal...

men jeg for denne fejl...:
Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'Record'

default.asp, line 66




som er denne linie...
<% Record("Valg1") %>
Avatar billede nielle Nybegynder
25. maj 2005 - 06:33 #10
"de er bare begge tekst og voteID er tal..." - De kan da ikke begge to være teskst mens at voteID samtidig er et tal?

Den linje du nævner er heller ikke korrekt ASP.

<% =Record("Valg1") %>

For det første har du jo et par linjer før netop sat Record lig med RsVote.Execute(Sql). Record er altså ikke et record set mere med derimod værdien af dit count.

For det andet har du tidligere netop gemt værdien fra en tidligere SQL som netop ser sådan:

Valg1 = Record("Valg1")

- så jeg formoder at det er denne du skal bruge.

For det tredje so mangler du et "=" eller et "Respose.Write" foran.

Så mon ikke den skal set sådan her ud?

<% = Valg1 %>

... Og ligeledes for alle de efterfølgende linjer på samme form!
Avatar billede thomas_b Nybegynder
26. maj 2005 - 23:48 #11
nu kommer den med denne fejl, et andet sted...:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x494 Thread 0x158 DBC 0x2ba0b24 Jet'.

/www/default.asp, line 96
------------------------------
linien er denne:
og databasen ligger der hvor den skal være...:
------------------------------
    Response.Cookies("stem")(Request("Voteid")) = "x"
    Response.Cookies("stem").Expires = "19-01-2038"
    Set RsVote = Server.CreateObject("ADODB.Connection")
    DBPath = "DBQ=" & server.mappath("doing.mdb")
--> RsVote.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
    Sql = "Insert into poll_result (Voteid, Vote, Ip) values('" & Request("Voteid") & "','" & Request("R1") & "','" &  Request.ServerVariables("REMOTE_ADDR") & "')"
    RsVote.Execute(Sql)
  end if
  Response.redirect session("retur")
end if
Avatar billede nielle Nybegynder
27. maj 2005 - 17:04 #12
Hmm, det ser umiddelbart rigtigt nok ud.

Men prøv at udskrive din Connnection-string før at du forsøger at åbne databasen. Måske ser det ikke helt ud som det burde:

Set RsVote = Server.CreateObject("ADODB.Connection")
ConnStr = "DRIVER={Microsoft Access Driver (*.mdb)}; " & server.mappath("doing.mdb")
Console.Write("DEBUG: ConnStr: " & ConnStr)
RsVote.Open ConnStr

Min foreløbige mistanke går på at den ikek finder den rigtige sti til hvor din database-fil ligger henne.
Avatar billede nielle Nybegynder
31. maj 2005 - 19:34 #13
Har du fået prøvet det?
Avatar billede thomas_b Nybegynder
22. juni 2005 - 19:53 #14
Yes... det virker... lægger du/i et svar,,,
Avatar billede nielle Nybegynder
22. juni 2005 - 21:37 #15
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