30. maj 2005 - 16:22Der er
21 kommentarer og 1 løsning
Hvordan sammenholder jeg to tabellers idnr?
Jeg har en db med 2 tabeller FFtabel og ForhandlerTabel. FFtabel ID og ForhandlerID
ForhandlerTabel ID og LogoID
Jeg sender et FFtabel ID over url til nedstående, og vil gerne have en sammenligning af FFtabel ForhadlerID og ForhandlerTabel ID, så jeg få logoID (et billede) vist.
Kommunerne har digitaliseret indgangen for borgerne. Men bag skærmen håndteres mange arbejdsgange stadig manuelt mellem systemer, mails og organisatoriske siloer.
strSQL = "Select * From FFtabel left join ForhandlerTabel on ForhandlerTabel.ffID=FFtabel.ID where FFtabel.ID=" & request.querystring("ID")
Du har ikke angivet ForhandlerTabel og FFtabel relatere til hinanden. Der må være et tal i enten ForhandlerTabel eller FFtabel som relatere til den anden tabel...
I mit eks har jeg brugt ffID (eksistere sikkert ikke i din tabel) til at relatere til FFtabel.ID
strSQL = "Select * From FFtabel left join ForhandlerTabel on ForhandlerTabel.IDforhandler=FFtabel.ID where FFtabel.ID=" & request.querystring("ID")
Det er ikke helt rigtigt.... for nu bliver FFtabel.ID sammenlingnet med FFtabel.ForhandlerID, og der hvor der er match vises billedet dvs. kun ved 3 produkter. ForhandlerTabel indeholder 3 billeder. FFtabel indeholder mange forskellige produkter/ID, og for hvert produkt/ID skal der vises om det er billede nr. 1,2 eller 3.
Det er i hvert fald det du siger 30/5 16:44:13. Men 30/5 17:14:53 skriver du at du prøver at bruge:
strSQL = "Select * From FFtabel left join ForhandlerTabel on ForhandlerTabel.IDforhandler=FFtabel.ID where FFtabel.ID=" & request.querystring("ID")
- hvilket er et join på ForhandlerTabel.IDforhandler = FFtabel.ID. Er det ikke en fejl?
Prøv: strSQL = "Select * From FFtabel left join ForhandlerTabel on ForhandlerTabel.IDforhandler = FFtabel.ForhandlerID where FFtabel.ID = " & request.querystring("ID")
Nu skal du naturligvis sørge for at der er noget i request.querystring("ID"), ellers vil der komme en fejl ...
id = CInt(request.querystring("ID")) strSQL = "Select * From FFtabel left join ForhandlerTabel on ForhandlerTabel.IDforhandler = FFtabel.ForhandlerID where FFtabel.ID = " & id Set rs = Conn.Execute(strSQL) if not rs.eof then strVisBillede ="<img src='../grafik/gif/" & rs("LogoID") & "'>" Response.Write strVisBillede else response.write "Det angivne id findes ikke i databasen" end if
Hedder det i øvrigt ikke ForhandlerID og ikke IDforhandler? -- id = CInt(request.querystring("ID")) strSQL = "Select * From FFtabel left join ForhandlerTabel on ForhandlerTabel.ForhandlerID = FFtabel.ForhandlerID where FFtabel.ID = " & id Set rs = Conn.Execute(strSQL) if not rs.eof then strVisBillede ="<img src='../grafik/gif/" & rs("LogoID") & "'>" Response.Write strVisBillede else response.write "Det angivne id findes ikke i databasen" end if
en gang til ... Det du ønsker er LogoID , derfor skal du finde dem hvor ForhandlerTabel.ID = FFtabel.ForhandlerID.. sådan her ---- id = CInt(request.querystring("ID")) strSQL = "Select * From FFtabel left join ForhandlerTabel on ForhandlerTabel.ID = FFtabel.ForhandlerID where FFtabel.ID = " & id Set rs = Conn.Execute(strSQL) if not rs.eof then strVisBillede ="<img src='../grafik/gif/" & rs("LogoID") & "'>" Response.Write strVisBillede else response.write "Det angivne id findes ikke i databasen" end if --- Om det så er "left" "Right" eller "inner" join du skal benytte.. det er jeg ikke god nok til joins til at kunne sige desværre
Jeg får følgende fejlmeddelse uanset "left" "Right" eller "inner" join.
Microsoft OLE DB Provider for ODBC Drivers error '80040e10' [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. /asp/forhandler.asp, line 33
ForhandlerTabel.IDforhandler er det du skriver som ForhandlerTabel.ID.
Ja altså idanielsen skrev ForhandlerTabel.IDforhandler Du skrev selv i spørgsmålet som om den tabel der hedder Forhandler har et ID felt ergo hedder det ForhandlerTabel.ID Når du får fejl i linje 33 så er det fordi der er fejl i din strSQL som står højere oppe prøv inden den linje at lave følgende response.write(strSQL) og send udskriften herind
strSQL = "Select * From FFtabel where ForhandlerID=" & request.querystring("ID") Set rs = Conn.Execute(strSQL)
Response.Write rs("ForhandlerID")
'id = CInt(request.querystring("ID")) 'strSQL = "Select * From FFtabel Right join ForhandlerTabel on ForhandlerTabel.IDforhandler = FFtabel.ForhandlerID where FFtabel.ID = " & id 'Set rs = Conn.Execute(strSQL) 'if not rs.eof then 'strVisBillede ="<img src='../grafik/gif/" & rs("LogoID") & "'>" 'Response.Write strVisBillede 'else 'response.write "Det angivne id findes ikke i databasen" 'end if
'strSQL = "Select * From FFtabel left join ForhandlerTabel on ForhandlerTabel.IDforhandler = FFtabel.ForhandlerID where FFtabel.ID = " & request.querystring("ID") 'strVisBillede ="<img src='../grafik/gif/" & rs("LogoID") & "'>" 'Response.Write strVisBillede
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.