11. februar 2003 - 10:31Der er
18 kommentarer og 1 løsning
Dumme SQL Sætning
SQL = "SELECT DISTINCT tilbudKategori.katID, tilbudKategori.katNavn,sum(tilbudVare.uge+tilbudVare.uge1) as nyuge FROM tilbudKategori tilbudKategori INNER JOIN tilbudVare tilbudVare ON tilbudKategori.katID = tilbudVare.katID WHERE tilbudVare.uge between "&uge&" and nyuge group by tilbudKategori.katID,tilbudKategori.katNavn"
Giver fejlen
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Prøv at skriv noget mere af koden - bl.a. der hvor du kører selve SQL-sætningen. Det lyder mere til at problemet ligger dér, og ikke i din SQL-sætning!
SQL = "SELECT DISTINCT tilbudKategori.katID, tilbudKategori.katNavn,sum(tilbudVare.uge+tilbudVare.uge1) as nyuge FROM tilbudKategori tilbudKategori INNER JOIN tilbudVare tilbudVare ON tilbudKategori.katID = tilbudVare.katID WHERE tilbudVare.uge between "&uge&" and nyuge group by tilbudKategori.katID,tilbudKategori.katNavn"
response.write SQL SET rs = Connect.Execute(SQL)
if not rs.EOF then do until rs.EOF
if Cint(Request.QueryString("linkid")) = rs("katID") then %> <a class="link1" href="bygma-tilbud.asp?menu=2"><b><%=rs("katNavn")%></b> </a><br> <% else %> <a class="link1" href="bygma-tilbud.asp?linkid=<%=rs("katID")%>&menu=<%=request.querystring("menu")%>"><%=rs("katNavn")%></a><br> <% end if
if Cint(Request.QueryString("linkid")) = rs("katID") then
Set rs2 = Connect.Execute("SELECT * FROM tilbudVare WHERE uge = "&uge&" AND katID = " & request("linkid") & " Order by priotet asc")
if not rs2.EOF then do until rs2.EOF %> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="almfont">· <a class="link1" href="bygma-tilbud.asp?id=<%=rs2("vareID")%>&menu=<%=request.querystring("menu")%>&show=1"> <% if rs2("priotet")="A" then response.write "<b>" end if %> <%=rs2("varenavn")%> <% if rs2("priotet")="A" then response.write "</b>" end if %></a> </td> <td align="right" class="almfont"><%=formatcurrency(rs2("tilbudpris"),2)%></td> <td width="100"> </td> </tr> </table> <% rs2.MoveNext Loop rs2.close else 'fang tom end if
end if rs.movenext Loop rs.close else 'fang tom end if
SELECT DISTINCT tilbudKategori.katID, tilbudKategori.katNavn,sum(tilbudVare.uge+tilbudVare.uge1) as nyuge FROM tilbudKategori tilbudKategori INNER JOIN tilbudVare tilbudVare ON tilbudKategori.katID = tilbudVare.katID WHERE tilbudVare.uge between 7 and nyuge group by tilbudKategori.katID,tilbudKategori.katNavn
jeg - fejlen kommer hvor sql'en bliver kørt.... det er klart
det jeg mener er, at "nyuge" som du har skrevet ind umiddelbart ikke kan sammenlignes med "uge" og det kan du jo se passer når du udskriver sql'en "between 7 and nyuge"
jeg kan ikke huske den præcise syntaks, men jeg mener ikke at du kan bruge variablen nyuge på den måde du gør - så prøv i stedet for nyuge at skrive sum(tilbudVare.uge+tilbudVare.uge1)
Cannot have aggregate function in WHERE clause (tilbudVare.uge Between 7 And sum(tilbudVare.uge+tilbudVare.uge1)).
SQL'en
SQL = "SELECT DISTINCT tilbudKategori.katID, tilbudKategori.katNavn,sum(tilbudVare.uge+tilbudVare.uge1) as nyuge FROM tilbudKategori tilbudKategori INNER JOIN tilbudVare tilbudVare ON tilbudKategori.katID = tilbudVare.katID WHERE tilbudVare.uge between "&uge&" and sum(tilbudVare.uge+tilbudVare.uge1) group by tilbudKategori.katID,tilbudKategori.katNavn"
nej - det er et recordset - men derfor kan du vel godt skrive den ud;
response.write rs("nyuge")
umiddelbart har jeg nemlig ikke den store idé - enten er "nyuge" tom når den forsøges brugt i where eller også kan access bare ikke klare det på den måde :o/
SQL = "SELECT DISTINCT tilbudKategori.katID, tilbudKategori.katNavn,sum(tilbudVare.uge+tilbudVare.uge1) as nyuge FROM tilbudKategori tilbudKategori INNER JOIN tilbudVare tilbudVare ON tilbudKategori.katID = tilbudVare.katID WHERE tilbudVare.uge between "&uge&" and 9 group by tilbudKategori.katID,tilbudKategori.katNavn"
ok - så har jeg kun et enkelt gæt tilbage og det er at prøve noget a la dette;
SQL = "SELECT DISTINCT tilbudKategori.katID, tilbudKategori.katNavn,sum(tilbudVare.uge+tilbudVare.uge1) as nyuge FROM tilbudKategori tilbudKategori INNER JOIN tilbudVare tilbudVare ON tilbudKategori.katID = tilbudVare.katID WHERE tilbudVare.uge between "&uge&" and (SELECT sum(tilbudVare.uge+tilbudVare.uge1) from tilbudKategori) group by tilbudKategori.katID,tilbudKategori.katNavn"
ellers er jeg lost. Måske fordi access ikke kan arbejde på måde
SQL = "SELECT DISTINCT tilbudKategori.katID, tilbudKategori.katNavn FROM tilbudKategori INNER JOIN tilbudVare ON tilbudKategori.katID = tilbudVare.katID WHERE "&uge&" >= tilbudVare.uge AND "&uge&" <= tilbudVare.uge1;"
keysersoze >> Du får point fordi du gad ofre din tid på mig, mange tak :ø)
Synes godt om
Ny brugerNybegynder
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.