Just nu i M3-nätverket
Gå till innehåll
mia_sr

Felmeddelande

Rekommendera Poster

Felmeddelandet "wrong number of arguments..." är inget sql-fel utan det är ett VB-fel. Du har alltså inget fel i din sql-sats, utan felet ligger någon annanstans.

 

Det felet innebär är att du gör ett funktionsanrop med felaktiga parametrar eller att du försöker ändra en icke ändringsbar egenskap hos ett objekt.

 

Visst skulle det kunna vara så att det är något slarvfel på den långa raden så att VB tror att du försöker anropa någon funktionen, men det känns långsökt. Du borde ha fått syntaxfel då.

 

Troligtvis är felet på ett annat ställe i koden.

 

* * *

 

För övrigt är det inte så praktiskt att göra en sån där lång sql-sats. Det ska dessutom inte behövas. Det är ju en dator du sitter vid, och datorer är ju konstruerade för att underlätta för oss människor så vi slipper göra långtråkiga saker som att sitta och skriva nästan samma ord gång på gång.

 

I ditt fall hade jag gjort så här:

 

* En tabell som heter "fragor" som innehåller varje fråga i text samt ett id-nummer, frageID.

* En tabell som heter "svar" som innehåller den information du vill spara om varje svar som lämnas in (exempelvis tidpunkt och namn), samt ett id-nummer, svarsID.

* En tabell som heter "svarsdata" som innehåller alla svar som lämnats på frågorna. På varje rad i tabellen har den frageID (som talar om vilken fråga det är svar på), svarsID (som talar om vem det är som svarar) och så själva svaret i text.

 

På sidan där enkäten ska fyllas i behöver du ju bara göra en SELECT fraga, frageID FROM fragor, och så skriver du ut alla frågor och sätter textrutorna till name="<% =frageID %>".

 

På sidan som ska lagra svaren från enkäten behöver du bara loopa igenom samtliga variabler som kommit in och göra: INSERT INTO svarsdata ('frageID', 'svarsID', 'svar').

 

På detta vis blir allt mycket smidigare. Vill du exempelvis lägga till en extra fråga behöver du bara lägga till det i frågetabellen så uppdateras direkt sidan där enkäten fylls i och svaren på den nya frågan sparas.

 

Hmm... Lite tips bara som du kanske kan ha nytta av nästa gång du gör något med databas.

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Dock gäller fortfarande de tidigare synpunkerna - det går inte att använda Session som variabelnamn, man måste använda session.sessionID, och man måste hantera session.SessionID som en sträng för att Access ska förstå.

 

Men det känns lite pinsamt att vi två (som är de flitigaste postarna på db och SQL) missade att man inte kan ha en WHERE-klausul i en INSERT :)

 

--

En röst talade till mig och sade:

”Le och var glad, ty det kunde vara värre”.

Så jag log, och jag var glad.

Och det blev värre.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...