Avatar billede ihknoah Nybegynder
20. december 2005 - 09:15 Der er 12 kommentarer

Vi kan ikke få vores sql sætning til at virke

Vi kan ikke få vores sql sætning til at virke i forbindelse med at hente data i databasen.

visvirksomhed="SELECT virksomhed.*,virksomhedsid.*, branche.*, bypost.*, omraade.*, virksomhed.navn, omraade.nummer, branche.nummer"&_
"FROM (omraade INNER JOIN (bypost INNER JOIN virksomhed ON bypost.Postnummer=virksomhed.postnr) ON omraade.nummer=virksomhed.omraade) INNER JOIN (branche INNER JOIN virksomhedsid ON branche.nummer=virksomhedsid.branche) ON virksomhed.virksomhedsid=virksomhedsid.virksomhedsid"&_
"WHERE (((virksomhed.navn)='coloplast')AND ((omraade.nummer)=3) AND ((branche.nummer)=4)"
END IF
Set rs = Conn.Execute(visvirksomhed)
    Do until rs.eof
Avatar billede eagleeye Praktikant
20. december 2005 - 09:20 #1
Prøv at udksrive den så det tit lettere at se fejlen men så vidt jeg kan se mangler der mellemrum nogle steder så prøv:

visvirksomhed="SELECT virksomhed.*,virksomhedsid.*, branche.*, bypost.*, omraade.*, virksomhed.navn, omraade.nummer, branche.nummer "&_
"FROM (omraade INNER JOIN (bypost INNER JOIN virksomhed ON bypost.Postnummer=virksomhed.postnr) ON omraade.nummer=virksomhed.omraade) INNER JOIN (branche INNER JOIN virksomhedsid ON branche.nummer=virksomhedsid.branche) ON virksomhed.virksomhedsid=virksomhedsid.virksomhedsid "&_
"WHERE (((virksomhed.navn)='coloplast')AND ((omraade.nummer)=3) AND ((branche.nummer)=4)"




Prøv evt. at udskrive den eks:

response.write visvirksomhed
response.end 'stopper siden i at køre længere end hertil
Avatar billede fennec Nybegynder
20. december 2005 - 09:28 #2
Din join er meget forvirende. Dette er vist mere forstålig :o)

visvirksomhed="SELECT virksomhed.*,virksomhedsid.*, branche.*, bypost.*, omraade.*, virksomhed.navn, omraade.nummer, branche.nummer"&_
"FROM ((((virksomhed INNER JOIN virksomhedsid on virksomhed.virksomhedsid=virksomhedsid.virksomhedsid) " &_
"INNER JOIN branche ON branche.nummer=virksomhedsid.branche) "&_
"INNER JOIN omraade ON omraade.nummer=virksomhed.omraade) "&_
"INNER JOIN bypost ON bypost.Postnummer=virksomhed.postnr) "&_
"WHERE (((virksomhed.navn)='coloplast')AND ((omraade.nummer)=3) AND ((branche.nummer)=4)"
Avatar billede ihknoah Nybegynder
20. december 2005 - 09:54 #3
Hej den fejler stadig i sidste linje
"WHERE (((virksomhed.navn)='coloplast')AND ((omraade.nummer)=3) AND ((branche.nummer)=4)"
Avatar billede fennec Nybegynder
20. december 2005 - 09:57 #4
Fjern alle parenteser. De er ikke nødvendige:
"WHERE virksomhed.navn='coloplast'AND omraade.nummer=3 AND branche.nummer=4"
Avatar billede fennec Nybegynder
20. december 2005 - 09:57 #5
Manglede lige et mellemrum :o)
"WHERE virksomhed.navn='coloplast' AND omraade.nummer=3 AND branche.nummer=4"
Avatar billede ihknoah Nybegynder
20. december 2005 - 10:12 #6
Hej
Jeg er bange for at min fejl ligger et andet sted.
Det jeg prøver at få den til er at kunne søge i min database både på virksomhedsnavn, branche og område

<!--#include file ="opretforbindelsetilmodel1.asp" -->
<%
Dim virksomhedsnavn,branche,omraade
virksomhedsnavn = Request.Form("virksomhedsnavn")
branche = Request.Form("branche")
omraade = Request.Form("omraade")
%>

<html>

<head>
<title>Virksomhed</title>
</head>

<body>
<h1>Liste</h1>
<p>&nbsp;</p>
<table border="1" width="48%" id="table1">
    <tr>
        <td width="114">Virksomhed</td>
        <td width="112">Område</td>
        <td>vis virksomhed</td>
    </tr>
    <%
'visvirksomhed="select * from virksomhed where navn='"&virksomhedsnavn&"' and omraade="&omraade&""

'visvirksomhed="SELECT virksomhed.navn, område.område, branche.branche FROM (område INNER JOIN virksomhed ON område.nummer = virksomhed.omraade) INNER JOIN branche ON virksomhed.virksomhedsid = branche.nummer WHERE (((virksomhed.navn)='"&virksomhedsnavn&"') AND ((område.nummer)="&omraade&") AND ((branche.nummer)="&branche&"))"

'visvirksomhed="select * from virksomhed where navn = '"&virksomhedsnavn&"'"
if branche=0 and omraade=0 then
    visvirksomhed="select * from virksomhed where navn = '"&virksomhedsnavn&"'"
else
visvirksomhed="SELECT virksomhed.*,virksomhedsid.*, branche.*, bypost.*, omraade.*, virksomhed.navn, omraade.nummer, branche.nummer"&_
"FROM (omraade INNER JOIN (bypost INNER JOIN virksomhed ON bypost.Postnummer=virksomhed.postnr) ON omraade.nummer=virksomhed.omraade) INNER JOIN (branche INNER JOIN virksomhedsid ON branche.nummer=virksomhedsid.branche) ON virksomhed.virksomhedsid=virksomhedsid.virksomhedsid"&_
"WHERE virksomhed.navn='coloplast' AND omraade.nummer=3 AND branche.nummer=4"
END IF
Set rs = Conn.Execute(visvirksomhed)
    Do until rs.eof
  %>
  <tr>
        <td width="114"><%=rs.fields("navn")%></td>
        <td width="112"><%=rs.fields("omraade")%></td>
        <td><form action="visningadministrator.asp" method=post><input type="hidden" name="virksomhedsid" value="<%=rs.fields("virksomhedsid")%>"><input type="submit" value="vis" name="knap"></form></td>
    </tr>
<% rs.movenext
    Loop %>
   
</table>

</body>

</html>
Avatar billede ihknoah Nybegynder
20. december 2005 - 10:13 #7
Glemte nu er det execute linjen der fejler
Avatar billede eagleeye Praktikant
20. december 2005 - 10:14 #8
Hvilken fejl får du?
Avatar billede eagleeye Praktikant
20. december 2005 - 10:15 #9
I denne linje:

visvirksomhed="SELECT virksomhed.*,virksomhedsid.*, branche.*, bypost.*, omraade.*, virksomhed.navn, omraade.nummer, branche.nummer"&_
"FROM (omraade INNER JOIN (bypost INNER JOIN virksomhed ON bypost.Postnummer=virksomhed.postnr) ON omraade.nummer=virksomhed.omraade) INNER JOIN (branche INNER JOIN virksomhedsid ON branche.nummer=virksomhedsid.branche) ON virksomhed.virksomhedsid=virksomhedsid.virksomhedsid"&_
"WHERE virksomhed.navn='coloplast' AND omraade.nummer=3 AND branche.nummer=4"


Mangler der et mellemrum før FROM og før WHERE så prøv at rette den til:

visvirksomhed="SELECT virksomhed.*,virksomhedsid.*, branche.*, bypost.*, omraade.*, virksomhed.navn, omraade.nummer, branche.nummer "&_
"FROM (omraade INNER JOIN (bypost INNER JOIN virksomhed ON bypost.Postnummer=virksomhed.postnr) ON omraade.nummer=virksomhed.omraade) INNER JOIN (branche INNER JOIN virksomhedsid ON branche.nummer=virksomhedsid.branche) ON virksomhed.virksomhedsid=virksomhedsid.virksomhedsid "&_
"WHERE virksomhed.navn='coloplast' AND omraade.nummer=3 AND branche.nummer=4"
Avatar billede ihknoah Nybegynder
20. december 2005 - 10:21 #10
Jeg får den her fejl
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'branche.nummerFROM (omraade INNER JOIN (bypost INNER JOIN virksomhed ON bypost.Postnummer=virksomhed.postnr) ON omraade.nummer=virksomhed.omraade) INNER JOIN (branche INNER JOIN virksomhedsid ON branche.nummer=virksomhedsid.branche) ON virksomhed.virksomheds'.
/itek/liste.asp, line 37
Avatar billede eagleeye Praktikant
20. december 2005 - 10:23 #11
Ok, så prøv mit forslag i kommentaren 20/12-2005 10:15:26 da der magler et par mellemrum i SQL sætningen.
Avatar billede ihknoah Nybegynder
20. december 2005 - 11:01 #12
Tak For hjælpen
Så virker det !
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