GeinMedlem sedan sep. 20005 700 inlägg såhär ser min SQL sats ut som e tänkt att ta ut information från 2 tabeller
SQL = "SELECT d.namn, sum(r.totalt) FROM deltagare AS d, resultat AS r WHERE d.uid=r.uid GROUP BY d.namn"
men det funkar inte, om jag skriver SQL satsen i Access som en fråga, då får jag rätt svar, men i ASP så blir det felmeddelande:
Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.
tacksam om någon kunde hjälpa mej!
------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net
LarsGMedlem sedan dec. 200012 464 inlägg Problemet är inte din SQL-sats utan ditt anrop till ADO. Till exempel att du använder en konstant som adOpenDynamic utan att den är definierad. Kan du visa den koden?
------------------
essentitia preter non sans multiplicandum
puzzeMedlem sedan sep. 20005 700 inlägg ahaaa.. kom på.. jag hade glömt att inkludera adovbs.inc.
Får iofs ett annat felmeddelande nu:
Objektet kunde inte hittas i mängden med det begärda namnet eller numret.
<tr><td><=%RecSet("d.namn")%></td><td><%=RecSet("r.restotalt")%></td></tr>
------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net
puzzeMedlem sedan sep. 20005 700 inlägg såg felet igen.. växlade % och =
nu verkar den ladda sidan men den suger ju typ upp allt minne.. och ingen sida visas
------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net
@ndersMedlem sedan juni 200032 969 inlägg Red.
Har du med en movenext?
Missar man den händer sådana saker...
Mvh,
[Redigerat av @nders den 13 jan 2002]
LarsGMedlem sedan dec. 200012 464 inlägg Då använder du ett kolumnnamn som inte finns med i resultatet. Om du vill komma åt summan med hjälp av ett namn så måste du ange den kolumnen.
SQL = "SELECT d.namn, sum(r.totalt) as restotatlt FROM deltagare AS d, resultat AS r WHERE d.uid=r.uid GROUP BY d.namn"
<tr><td><% =RecSet("namn")%></td><td><%=RecSet("restotalt")%></td></tr>
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 13 jan 2002]
puzzeMedlem sedan sep. 20005 700 inlägg hmm, okej.. fel igen :D
Nu står det sådär att "Objektet kunde inte hittas i mängden med det begärda namnet eller numret." då den försöker skriva ut d.namn
------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net
puzzeMedlem sedan sep. 20005 700 inlägg jag kan ju lika gärna blotta koden.. så här ser det ut:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("stryksm.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT d.namn, sum(r.totalt) as restotalt FROM deltagare AS d, resultat AS r WHERE d.uid=r.uid GROUP BY d.namn"
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
Do until RecSet.EOF
%>
<tr><td><%=RecSet("r.restotalt")%></td><td></td></tr>
<%
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
Set Connect = Nothing
%>
Felmeddelande:
Feltyp:
ADODB.Recordset (0x800A0CC1)
Objektet kunde inte hittas i mängden med det begärda namnet eller numret.
/stryktips/main.asp, line 18
------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net
LarsGMedlem sedan dec. 200012 464 inlägg Om du tar bort r. från namnet
<tr><td><%=RecSet("restotalt")%></td><td></td></tr>
------------------
essentitia preter non sans multiplicandum
@ndersMedlem sedan juni 200032 969 inlägg <%=RecSet("restotalt")%>
Du ska inte ange några tabellalias när du skriver ut fältvärden.
Mvh,
puzzeMedlem sedan sep. 20005 700 inlägg wunderbar!
*bugar och bockar*
------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net
puzzeMedlem sedan sep. 20005 700 inlägg försökte lägga till ett fält i select satsen. SELECT d.uid, d.namn ...
men då får jag detta felmeddelande:
[Microsoft][Drivrutin för ODBC Microsoft Access] Du försökte köra en fråga med en mängdfunktion som inte innehöll det angivna uttrycket 'uid'.
------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net
@ndersMedlem sedan juni 200032 969 inlägg Du måste ha med d.uid i din GROUP BY-instruktion om du har beräkningsfunktioner (SUM exempelvis) i din SQL-fråga.
Mvh,
puzzeMedlem sedan sep. 20005 700 inlägg kommer att göra en ny sql sats med flera tabeller.. men där kommer vissa fält att ha samma namn. Hur löses detta?
om jag skriver t.ex <%=RecSet("m1")%> hur vet den då ur vilken tabell att hämta värdet?
------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net
@ndersMedlem sedan juni 200032 969 inlägg Du får ge de fälten alias.
strsSQL = "SELECT a.Falt1 AS Falt1FromA, b.Falt1 AS Falt1FromB FROM TabellA AS A, TabellB AS B"
Sedan:
Response.write objRS("Falt1FromA")
Mvh,