Avatar billede fjordbak Nybegynder
02. marts 2002 - 10:34 Der er 16 kommentarer og
1 løsning

Hvad er der galt i denne sætning?

SELECT Navn.Titel, Navn.Navn, Navn.Efternavn, K_adresse.K_PostalCode, Postnummer.By, K_adresse.K_telefon, [Medlem af].UdvalgID FROM Postnummer RIGHT JOIN ((Navn INNER JOIN [Medlem af] ON Navn.AVPK = [Medlem af].AVPK) LEFT JOIN K_adresse ON Navn.AVPK = K_adresse.AVPK) ON Postnummer.PostalCode = K_adresse.K_PostalCode WHERE ((([Medlem af].UdvalgID)='" & UdvalgID & "')) ORDER BY Navn.Efternavn;

Den skal kunne bruges således:
http://www.dsam.dk/udvalg.asp?UdvalgID=68
Det er primært Where-delen der er problemer med.

Rikke
Avatar billede coltau Juniormester
02. marts 2002 - 10:45 #1
Kan man have en tabel der hedder [Medlem af] - jeg mener indeholder et blanktegn. ?
Avatar billede fjordbak Nybegynder
02. marts 2002 - 10:59 #2
Det har ikke været noget problem. Nu har jeg én side for hvert udvalg hvor where sætningen er: WHERE ((([Medlem af].UdvalgID)=68)) og det virker fint.
Men det bliver jo efterhånden temmelig mange sider, så hvis sætningen ovenfor kan virke bliver systemet jo noget mere fleksibelt.
Eksempel på nuværende where-sætning kan ses på: http://www.dsam.dk/uddannelse.asp
Avatar billede dsjk Novice
02. marts 2002 - 11:01 #3
hvis man kigger på linket du har skrevet. står der datatype mismatch in criteria expression.

Prøv at rette Where-delen til WHERE ((([Medlem af].UdvalgID)=" & UdvalgID & "))

dsjk
Avatar billede fjordbak Nybegynder
02. marts 2002 - 11:12 #4
-> dsjk
Det virker heller ikke.
Avatar billede reffak Nybegynder
02. marts 2002 - 12:01 #5
Noget helt andet:
Hvorfor vil du skrive så kompliceret en SQL sætning direkte i din asp-kode? Som situationen viser, bliver debugging jo meget sværere.
Overvej at oprette et view/forespørgsel i access (jeg går ud fra det kommer fra en access db). Det eneste der ikke skal med i dette view, er det sql der efterfølger din WHERE sætning. Gem dit view som f.eks. MyView. Nu kan du i din asp kode nøjes med den meget pænere:
"SELECT * FROM MyView WHERE [Medlem af].UdvalgID = " & UdvalgID & " ORDER BY Navn.Efternavn;"

-Som du kan se, tror jeg fejlen ligger i dine anførselstegn omkring UdvalgId. Dette er vel en numerisk type, og skal derfor ikke i anførselstegn.

MVH
Avatar billede fjordbak Nybegynder
02. marts 2002 - 12:17 #6
-> reffak
din løsning kan ses på
http://www.dsam.dk/udvalg1.asp?UdvalgID=68
Hvordan får jeg rettet den fejl?
Avatar billede reffak Nybegynder
02. marts 2002 - 12:22 #7
Det ser ud til, at UdvalgID variablen ikke er sat. Prøv at indsætte en dummy-værdi istedet for UdvalgID, bare for at se, om det er her fejlen ligger. Altså :
"SELECT * FROM MyView WHERE [Medlem af].UdvalgID = 5 ORDER BY Navn.Efternavn;"

MVH
Avatar billede fjordbak Nybegynder
02. marts 2002 - 12:44 #8
-> reffak
Det virker fint med en dummy-værdi.
se: http://www.dsam.dk/udvalg1.asp
Avatar billede reffak Nybegynder
02. marts 2002 - 12:52 #9
Det ser flot ud :-).
Håber du finder fejlen med UdvalgId variablen.

MVH
Avatar billede fjordbak Nybegynder
02. marts 2002 - 13:09 #10
Nå så kom vi så langt, at der i UdvalgID variablen i denne Where sætning må være en fejl:
"SELECT * FROM MyView WHERE [Medlem af].UdvalgID = " & UdvalgID & " ORDER BY Navn.Efternavn;"

fejlmeldingen kan ses på: http://www.dsam.dk/udvalg2.asp
Nogle bud?
Avatar billede fjordbak Nybegynder
02. marts 2002 - 14:56 #11
Efter at have rodet rundt i diverse nyhedsgrupper og tutorials fandt jeg løsningen:
sSQL = "SELECT * FROM MyView WHERE UdvalgID = "&Request("UdvalgID")&" ;"
Avatar billede fjordbak Nybegynder
02. marts 2002 - 15:04 #12
og at det virker kan ses her:
http://www.dsam.dk/udvalg.asp?UdvalgID=68
Avatar billede reffak Nybegynder
02. marts 2002 - 15:05 #13
fjordbak, det kan sgu da ikke være rigtigt, at du afviser mit svar, efter vi har fundet fejlen?
Det kan vel ikke være min opgave, at få kastet en værdi ind i UdvalgId variablen?. At dømme efter din sidste kommentar er det resultatet af en form submit. Den slags viden er der da ingen her der kunne have, eftersom du aldrig har vist andet kode, end den omtalte SQL sætning.

Jeg har fundet fejlen i din SQL sætning (anførselstegnene). Det var den eneste fejl der var synlig fra det kode du skrev.
Avatar billede fjordbak Nybegynder
02. marts 2002 - 15:13 #14
Jeg skrev at den skulle kunne bruges således:
http://www.dsam.dk/udvalg.asp?UdvalgID=68

Jeg har på intet tidspunkt skrevet noget som helst om submit. Dit svar løste jo ikke problemet, koden kunne ikke bruges på omtalte måde.
Avatar billede reffak Nybegynder
02. marts 2002 - 15:44 #15
Sig mig, er du dum?
Min pointe er netop, at du intet havde skrevet om submit. Du havde skrevet noget SQL, hvori der var en fejl. Jeg fandt fejlen i SQL koden, og fandt ud af, at du ikke havde sat en værdi i UdvalgId variablen. Det er 2 fejl i de få linjer kode du havde givet os. Resten er sgu da dit eget problem. Hvis du ikke kan se hvorfor UdvalgId variablen er tom, så åben et nyt spørgsmål, forklar noget om variablen (at den kommer fra en form), og så vil det være klart hvad fejlen er.
Jeg sidder fandme ikke her og løser problemer for andre, uden at få så meget som et tak eller nogle point. Og det er fandme sidste gang jeg hjælper dig ud af dit slamkode.
Avatar billede fjordbak Nybegynder
02. marts 2002 - 15:52 #16
Fald dog ned.
Du skriver at 'resten er sgu da dit eget problem' øhh ja, og det var sgu da det problem jeg prøvede at få løst, nemlig at kunne bruge den kode til at lave et link med .asp?UdvalgID=68
Og hvad mener du nu med at variablen kommer fra en form??
Din fejlfinding løste ikke problemet, EOD.
Avatar billede reffak Nybegynder
02. marts 2002 - 16:48 #17
Hvad præcist løste så problemet? At du indsatte en værdi på UdvalgId's plads (som jeg sagde du skulle) ?
Du havde da ikke kommet uden om anførselstegnene, altså fejlen i SQL sætningen
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