webForumDet fria alternativet
Logga in / Bli medlem

Fel typ - No value given...

Databaser & SQL

9 svar · 282 visningar · startad av CatZ

Medlem sedan jan. 20022 440 inlägg
Trådstart#1
SQL 	= " SELECT t.LagID, t.Klubb, t.Kontakt, " _
		& " COUNT(t2.rImp) AS rTotalImp, COUNT(t2.rVP) As rTotalVP, " _
		& " t2.rImp, t2.rVP, t2.Omgang " _
		& " FROM tblLag t" _
		& " LEFT JOIN tblResultat t2 " _
		& " ON t.LagID = t2.LagID " _
		& " GROUP BY t.LagID, t.Klubb, t.Kontakt, " _
		& " t2.rImp, t2.rVP, t2.Omgang " _
		& " ORDER BY rTotalVP DESC "
Set objRS = dbCom.Execute(SQL)

ger meddelandet :

Microsoft JET Database Engine fel '80040e10'
No value given for one or more required parameters.
/smdm/smdm.asp, line 17

Varför ?

och som ni alla vet är raden det är fel på den rad som anropar sql frågan dvs Set objRS = dbCom.Execute(SQL)

Medlem sedan jan. 20022 440 inlägg
#2

Sitter och fipplar runt lite med saker jag hittade på w3 school Men det vill inte fungera så bra.

Medlem sedan juni 200032 967 inlägg
#3

Kontrollera att alla tabell- och fältnamn i frågan stämmer.

mvh,

Medlem sedan feb. 200112 078 inlägg
#4

Nu innehåller frågan ASP, det ser jag, men jag flyttar den till SQL ändå, där jag vet att den får bättre hjälp.

Medlem sedan jan. 20022 440 inlägg
#5

Tar jag bort ORDER BY så fungerar det utmärkt...

Medlem sedan jan. 20022 440 inlägg
#6

Med funktionen GROUP BY så spelar det ingen roll om man vill ha det DISTINCT eller så... Jag är väldigt vimsig men detta vill jag veta. (hoppas ni förstår) Jag vill kunna använda ORDER BY och jag vill inte ha ut lag delen DISTINCT dvs att varje Klubb skrivs ut 1 gång och att det sorteras på rTotalImp.

Hur ska jag då ändra koden?

SQL 	= " SELECT COUNT(t2.rImp) AS rTotalImp, COUNT(t2.rVP) As rTotalVP, " _
		& " t2.rImp, t2.rVP, t2.Omgang, " _
		& " t.LagID, t.Klubb, t.Kontakt " _
		& " FROM tblResultat t2 " _
		& " INNER JOIN tblLag t " _
		& " ON t.LagID = t2.LagID " _
		& " GROUP BY t.LagID, t.Klubb, t.Kontakt, " _
		& " t2.rImp, t2.rVP, t2.Omgang "
Set objRS = dbCom.Execute(SQL)
Medlem sedan juni 200032 967 inlägg
#7

CatZ skrev:

Tar jag bort ORDER BY så fungerar det utmärkt...

Om du använder Access kan du inte använda aliasnamn på COUNTs etc i ORDER BY, utan du måste ange fältets ordningsnummer. ORDER BY 2 alltså, i din originalkod.

Mvh,

Medlem sedan jan. 20022 440 inlägg
#8

tack för hjälpen så långt! Sorteringen funkar nu. Då återstår bara problemet med dubletterna.

Nu testar jag att göra en sum(fält) as värde men när jag sedan skriver ut det hela så får jag dubbletter på koden:

SQL 	= " SELECT SUM(t2.rImp) AS rTotalImp, SUM(t2.rVP) As rTotalVP, " _
		& " t2.rImp, t2.rVP, t2.Omgang, " _
		& " t.LagID, t.Klubb, t.Kontakt " _
		& " FROM tblResultat t2 " _
		& " INNER JOIN tblLag t " _
		& " ON t.LagID = t2.LagID " _
		& " GROUP BY t.LagID, t.Klubb, t.Kontakt, " _
		& " t2.rImp, t2.rVP, t2.Omgang " _
		& " ORDER BY 2 DESC"

Omg rTotalImp får värdet 660 totalt så skrivs alla värdena ut dvs summan för varje "row" där lagid'na stämmer med frågan. Nu finns det två rImp i db och därför skrivs rTotalImp ut 2ggr.

Kan man lösa det i SQL frågan på något sätt ?

Medlem sedan dec. 20003 887 inlägg
#9

Är det möjligen DISTINCTROW du ska använda? Har för mig att det motsvarar DISTINCT när man kör JOIN...

Kan vara så att jag är ute och cyklar, men jag hoppas inte det för det snöar ute nu ju... :OO

Medlem sedan jan. 20022 440 inlägg
#10

Tyvärr händer ingenting med hjälp av det :x Kanske jag som använder fel, ska kolla det lite nogrannare

W3Schools SQL Quiz
Result:
20 of 20

100%

Perfect!!!

Men inte tusan lyckas jag lösa det här problemet.

263 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)